數(shù)值分析(25) 非線性方程組的數(shù)值方法_第1頁
數(shù)值分析(25) 非線性方程組的數(shù)值方法_第2頁
數(shù)值分析(25) 非線性方程組的數(shù)值方法_第3頁
數(shù)值分析(25) 非線性方程組的數(shù)值方法_第4頁
數(shù)值分析(25) 非線性方程組的數(shù)值方法_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數(shù)值分析數(shù)值分析第三節(jié)非線性方程組的簡單迭代法一、引言數(shù)值分析數(shù)值分析非線性方程組解的復雜性數(shù)值分析數(shù)值分析clear,clfx1=-2:.2:2;y2=-2:.2:2;y1=f1(x1);x2=f2(y2);plot(x1,y1,'r:',x2,y2,'b')xlabel('x'),ylabel('y')(3)a=0(4)a=-1(1)a=1(2)a=1/4數(shù)值分析數(shù)值分析幾類典型非線性問題數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析例:半線性橢圓型邊值問題解:(1)剖分求解域.YN+1N:210012….NN+1X數(shù)值分析數(shù)值分析(2)對微分算子進行離散.在每個點(xi,yj)上的有限差分方程為在邊界上數(shù)值分析數(shù)值分析對非邊界點進行編號:

順序為-----從下往上,從左往右相應的解向量和右端向量分別為

數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析多元向量值函數(shù)的導數(shù)數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析多元實函數(shù)的高階導數(shù)數(shù)值分析數(shù)值分析

研究非線性方程組解的存在唯一性問題可轉化為研究不動點的存在唯一性。二、壓縮映射與不動點迭代(簡單迭代法)

數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析二、局部收斂性原理原理的局限性:(1)收斂域很難找(2)對非線性問題這是一個充分性原理,不是充分必要的,只有對線性問題,才是充分必要條件.如:數(shù)值分析數(shù)值分析P=1,C<1為線性收斂,P=2為平方收斂。三、收斂速度

數(shù)值分析數(shù)值分析第四節(jié)非線性方程組的Newton型算法

一、Newton-Raphson方法的迭代格式

數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析二、Newton迭代法的收斂性由迭代收斂階的定義,Newton迭代法是平方收斂的。數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析二、同倫算法數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析

求解非線性方程組的同倫算法%文件名:Homotopy.mfunctionroot=Homotopy(funcF,funcH,x,N,tol,Nmax)%功能:求解非線性方程組的同倫算法%輸入:%funcF-----原始方程函數(shù)句柄%funcH-----同倫方程函數(shù)句柄%x----初始迭代點%N(可選)----同倫參數(shù)t的劃分數(shù)(默認是10)%tol(可選)---精度要求(默認是1e-4)%Nmax(可選)---最大迭代次數(shù)(默認100次)%輸出:%root----解向量數(shù)值分析數(shù)值分析

ifsize(x,1)==1;x=x';endifnargin<6;Nmax=100;endifnargin<5|isempty(tol);tol=1e-4;endifnargin<4|isempty(N);N=10;endk=0;x0=x;n=length(x);dx=tol+1;f0=tol+1;form=1:Nt=m/N;while(norm(dx)>tol&norm(f0)>tol)&k<Nmax[jac,f0]=JacobianH(x,funcF,funcH,x0,t);

dx=jac\(-f0);x=x+dx;

k=k+1;Enddx=tol+1;f0=tol+1;root=x;k=0;end數(shù)值分析數(shù)值分析

function[jac,f0]=JacobianH(x,func1,func2,x0,t)%計算同倫函數(shù)的Jacobian矩陣和函數(shù)值h=1.0e-6;n=length(x);jac=zeros(n);f0=feval(func2,x,func1,x0,t);fori=1:ntemp=x(i);

x(i)=temp+h;f1=feval(func2,x,func1,x0,t);

x(i)=temp;

jac(:,i)=(f1-f0)/h;end數(shù)值分析數(shù)值分析例利用同倫算法求非線性方程組取初值x(0)=(10,5)’,t的劃分數(shù)N=4,精度tol=10-3。首先定義方程函數(shù)functionf=fex8_6(x)%定義方程F(x)=0f(1)=x(1)^2+x(2)^2-5;f(2)=x(1)^2-x(2)^2+3;f=f';再定義同倫函數(shù)f=HomotopyH(x,func,x0,t)%同倫函數(shù)f0=feval(func,x0);f=feval(func,x)+(t-1)*f0;然后運行以下主程序x0=[10,5]';tol=1e-3;N=4;root=Homotopy(@fex8_6,@HomotopyH,x0,N,tol)root=1.00002.0000

數(shù)值分析數(shù)值分析三、擬牛頓法

數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析數(shù)值分析

求解非線性方程組的Broyden秩1算法%文件名:QuasiNewton.mfunctionroot=QuasiNewton(myfun,x,tol,N)%功能:Broyden秩1擬牛頓法求解非線性方程組%輸入:%myfun----方程函數(shù)句柄%x----初始迭代點%tol(可選)-精度要求(默認是1e-4)%Nmax(可選)-最大迭代次數(shù)(默認100次)%輸出:%root---解向量n=length(x);ifsize(x,1)==1,x=x';endh=1e-4;B0=zeros(n);B1=zeros(n);數(shù)值分析數(shù)值分析f0=feval(myfun,x);fori=1:ntemp=x(i);x(i)=x(i)+h;f1=feval(myfun,x);B0(:,i)=(f1-f0)/h;x(i)=temp;Enddx=B0\(-f0);k=0;whilenorm(dx)>tol&k<Nx1=x+dx;s=dx;f1=feval(myfun,x1);y=f1-f0;B1=B0+(y-B0*s)*s'/(s'*s);B0=B1;f0=f1;x=x1;dx=B0\(-f0);k=k+1;endroot=x;ifk==N,warning('已達最大迭代次數(shù)');endfprintf('迭代次數(shù)為:k=%d\n',k);數(shù)值分析數(shù)值分析例用Broyden秩1擬牛頓法求解如下非線性方程組在(1.5,0.75)附近的解首先定義方程函數(shù)functiony=fex8_5(x)y(1)=x(1)+2*x(2)-3;y(2)=2*x(1)^2+x(2)^2-5;y=y';然后運行以下主程序x0=[1.5,0.75]';root=QuasiNewton(@fex8_5,x0)迭代次數(shù):k=1root=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論