非線性方程求根問題_第1頁
非線性方程求根問題_第2頁
非線性方程求根問題_第3頁
非線性方程求根問題_第4頁
非線性方程求根問題_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 計算機(jī)學(xué)院上機(jī)實(shí)踐報告課程名稱:數(shù)值計算方法b年級:上機(jī)實(shí)踐成績:指導(dǎo)教師:姓名:上機(jī)實(shí)踐名稱:非線性方程求根問題學(xué)號:上機(jī)實(shí)踐日期:上機(jī)實(shí)踐編號上機(jī)實(shí)踐時間:一、目的1通過本實(shí)驗(yàn),幫助加深對非線性方程求根方法的構(gòu)造過程的理解;2能將各種方法編寫為程序并上機(jī)實(shí)現(xiàn);3比較各種方法在求解同一非線性方程根時,在收斂情況上的差異。二、內(nèi)容與設(shè)計思想1用二分法求方程f(x)=x3-2x-5=0在區(qū)間2 , 3內(nèi)的根。2方程f(x)=2x3-5x2-19x+42=0在x=3.0附近有根,試寫出其三種不同的等價形式以構(gòu)成三種不同的迭代格式,再用簡單迭代法求根,觀察這三種迭代是否收斂。三、使用環(huán)境1. 硬件

2、環(huán)境微型計算機(jī)(intel x86系列cpu)一臺2. 軟件環(huán)境windows2000/xp操作系統(tǒng)vc+6.0或其它的開發(fā)工具。四、核心代碼及調(diào)試過程1用二分法求方程f(x)=x3-2x-5=0在區(qū)間2 , 3內(nèi)的根主要代碼:void bisect(double a,double b,int max_b) double root, ya,yb,yroot;int i,actual_b;ya=f(a);yb=f(b);if(ya*yb0) printf(method failed!n);exit(0); for(i=1;i0) /取含根區(qū)間為a,(a+b)/2 b=root;yb=yroot;

3、else /取含根區(qū)間為(a+b)/2,b a=root;ya=yroot;if(fabs(b-a)eps) break; root=(a+b)/2; yroot=f(root); actual_b=i;printf(root=%10.6lftf(root)=%10.6etatual_b=%dn,root,yroot,actual_b); 結(jié)果:2迭代格式分別為:x=2/19*x*x*x-5/19*x*x+42/19x=sqrt(2/5*x*x*x-19/5*x+42/5);x=(5/2*x*x+19/2*x-21)(1/3) 主要代碼:double g(double x)return(pow

4、(2.0/19.0*x*x*x-5/19*x*x+42/19),1.0); /*定義迭代函數(shù)*/void iterate(double a,double b,double x0,int max_d)int k=1;double x1;while(k=max_d)x1=g(x0); /*迭代計算*/if(x1b)printf(re_select a proper initial value x0!n);exit(0);if(fabs(x1-x0)max_d)printf(method failed!n);int main() double a=2.0,b=3.0,x0=(a+b)/2.0;int

5、 max_d=50;iterate(a,b,x0,max_d);前兩種迭代結(jié)果:第三種:輸入數(shù)據(jù)時應(yīng)注意數(shù)據(jù)的類型,否則程序會報錯。五、總結(jié)1、兩道題結(jié)果值均是7為有效數(shù)字,精度較高,計算次數(shù)較少。2、寫程序時應(yīng)注意數(shù)字的類型。六、附錄代碼:11#include#include#include#define eps 0.000001double f(double x)return(x*x*x-2*x-5);void bisect(double a,double b,int max_b)double root, ya,yb,yroot;int i,actual_b;ya=f(a);yb=f(b)

6、;if(ya*yb0)printf(method failed!n);exit(0);for(i=1;i0) b=root;yb=yroot;else a=root;ya=yroot;if(fabs(b-a)eps) break;root=(a+b)/2; yroot=f(root); actual_b=i;printf(root=%10.6lftf(root)=%10.6etatual_b=%dn,root,yroot,actual_b); int main() double a=2,b=3; int max_b=50; bisect(a, b,max_b);return 0; 12#inc

7、lude#include#include#define eps 0.00001double g(double x)return(pow(5.0/2.0*x*x+19.0/2.0*x-21.0),1.0/3.0);void iterate(double a,double b,double x0,int max_d)int k=1;double x1;while(k=max_d)x1=g(x0);if(x1b)printf(re_select a proper initial value x0!n);exit(0);if(fabs(x1-x0)max_d)printf(method failed!

8、n);int main()double a=2.0,b=4.0,x0=(a+b)/2.0;int max_d=50;iterate(a,b,x0,max_d);21#include#include#include#define eps 0.00001double g(double x)return(pow(2.0/5.0*x*x*x-19.0/5.0*x+42/5),1.0/2.0);void iterate(double a,double b,double x0,int max_d)int k=1;double x1;while(k=max_d)x1=g(x0);if(x1b)printf(

9、re_select a proper initial value x0!n);exit(0);if(fabs(x1-x0)max_d)printf(method failed!n);int main()double a=2.0,b=4.0,x0=(a+b)/2.0;int max_d=50;iterate(a,b,x0,max_d);22#include#include#include#define eps 0.00001double g(double x)return(pow(2.0/19.0*x*x*x-5.0/19.0*x*x+42.0/19.0),1.0);void iterate(double a,double b,double x0,int max_d)int k=1;double x1;while(k=max_d)x1=g(x0);if(x1b)printf(re_select a proper i

溫馨提示

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

最新文檔

評論

0/150

提交評論