非線性方程的簡單迭代法和Steffensen迭代法_第1頁
非線性方程的簡單迭代法和Steffensen迭代法_第2頁
非線性方程的簡單迭代法和Steffensen迭代法_第3頁
非線性方程的簡單迭代法和Steffensen迭代法_第4頁
非線性方程的簡單迭代法和Steffensen迭代法_第5頁
已閱讀5頁,還剩2頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、數值計算方法實驗報告實驗名稱:實驗1非線性方程的簡單迭代法和Steffensen迭代法實驗題目:分別用簡單迭代法和Steffensen迭代法求方程X3 4x2 -10 =0在1,2內的一個實根.實驗目的:理解弁掌握簡單迭代法和 Steffensen迭代法基礎理論:簡單迭代法和Steffensen迭代法1) .簡單迭代法的原理:將一元非線性方程:f(x)= 0 改寫 成等價方程:x= P(x),對此,從某個初始值X0開始,對應式乂 = P(x)構成迭代公式 x = P(xjk = 0,1,這樣就可以確定序列(k=0, 1, 2)。如果xj有極限*lim 4 一x ,由式 xk書=p(xjk =0

2、,1, 兩邊取極限可得 k :*x = P(x ),可知x為方程f (x) = 0的近似解。2) Steffensen迭代法的原理:通過把改進的Aitken方法應用于根據不動點迭代所得到的線 性收斂序列,將收斂速度加速到二階。yk 二 Zk 二II xk 1(xk)(yk)ykxkxk Zk2ykxk(x) = x-* (x) - x12、(x) - 2 (x) x實驗環境:操作系統:Windows 7 ;實驗平臺:Turbo C+實驗過程:寫出算法一編寫程序-調試運行程序-計算結果1)簡單迭代法的算法:Input:初始近似值x0,精度要求del,最大迭代次數NOutput:近似解x或失敗信息

3、1. n-12. While n - N do;3. xf(x0);4. if | x-x0|<del then5. | return x;6. end7. nn+1;8. X0-x;9. End10. return False;/超出最大迭代次數2) Steffensen迭代法的算法:Input :區間端點a,b;精度要求del;最大迭代次數NOutput:近似解或失敗信息1. n-12. while n - N do;3. yf(x0);4. z-f(y); 八 y -x025. x-x0;z -2y x06. If |x-x0|<del then;7. | return x;

4、8. end9. nn+1;10. x0-x;11. end12. return False;實驗結果a,用簡單迭代法計算的結果*C:UsersXAdminirtr. - -1_/klel= :0. 0000001x<k> 0 1.50000011.50003021.28695431.40254141.34345犯51.37517061.360094?1.36784781.36388791.365917IP364878111.365410121,365138131.36527?141.365206IS1.365242161.3652241?1-365233IS1.965220191

5、.3fi5231201-365230211.36523眄221.365230231.365230241.365230251.36523B261,365230271.365230281.3G5230291.365230301.365230311.365230321.365238331.36523同nb.用Steffensen迭代法計算的結果:l 4 F:llDebugl. eyex0-l .5de1=:0.300030301a=Lh=2N-100k x<k>0 1.50000011.50000021.36188731-365228二近似解=1.365230Press any key

6、to continue給出程序:1,簡單迭代法的程序(C+)#include "stdio.h"#include "math.h"#define phi(x) 0.5*sqrt(10-x*x*x)void main()int n=1,N;float x,x0,del;printf("x0=");printf("ndel=:");printf("nN=");scanf("%f",&x0);scanf("%f",&del);scanf(&quo

7、t;%d",&N);printf("nk x(k)");printf("n %2d %f ”,0,x0); while (n<N) x=phi(x0);if(fabs(x-x0)<del) printf("n n=近似解 =%f 'n”,x);return; printf("n %2d %f ”,n,x0);n=n+1;x0=x; printf("n n%d次迭代后未達到精度要求.n",N);2,Steffensen 迭代法的程序(C+)#include "stdio.h&qu

8、ot;#include "math.h"#define phi(x) 0.5*sqrt(10-x*x*x);void main()int n=1,N;float x,x0,del,y,z,a,b;printf("x0=");scanf("%f",&x0);printf("ndel=:");scanf("%f",&del);printf("na=");scanf("%f",&a);printf("nb=");sca

9、nf("%f",&b);printf("nN=");scanf("%d",&N);printf("nk x(k)");printf("n %2d %f ”,0,x0);while (n<N) y=phi(x0);z=phi(y);x=x0-(y-x0)*(y-x0)/(z-2*y+x0);if(fabs(x-x0)<del) printf("n n=近似解=%f n",x);return;printf("n %2d %f ”,n,x0);n=n+1;x0=x;printf("n n%d次迭代后未達到精

溫馨提示

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

評論

0/150

提交評論