天天看點

c語言不動點疊代法法求方程解,不動點疊代法求方程的根.docx

實驗報告

專業班級: 學号: 姓名:

實驗名稱:用不動點疊代法解非線性方程

1.實驗目的:

(1)掌握不動點疊代法求根的方法 (2 )學會運用C語言編寫出相應的循環程式,得出方程的解。

2?實驗内容:

問題:求方程f(x)=x3-x-1=0 在xo=1.5附近的根x*。

算法描述:

1)把方程改寫成 X = 3;廠7的形式

2) 代入xo=1.5,并反複利用疊代公式 Xk dXk 1計算

3)對上式得到的序列{xk}求極限lim Xk=x*,所求得的X*即為非線性方程的根

實驗方案(程式設計說明)

算法設計思路:

将X0代入疊代公式,作為第一次疊代結果X1。

随着不斷的疊代,疊代數值會越來越接近不動點值X。。程式中變量的類型小數點後的位

數是一定的,是以,随着不斷的疊代,會出現相等的兩數,那麼,此時的Xk可以近似看

做方程根X*。

程式流程圖

F

開始

Xk=1.5 ,k=0

N?

X k=X k+1

Y1

PAGE

PAGE #

結束

實驗步驟或程式(經調試後正确的源程式)

主要步驟與程式代碼,見附件A

附件A實驗報告

(适用計算機程式設計類)

專業班級:學号:姓名:

實驗步驟或程式:

程式代碼:

PAGE

PAGE #

H/iuHiHiHiHnnunnuiHiHnn

"不動點疊代法求根的實作代碼

Kinclude ttinclude void nain()

"為" 〃點〃 //動// "不" / * / / 0 /

"為" 〃點〃 //動// "不" / * / / 0 / / X / "為" "值< 〃初< /^/ i / /= 〃給〃XO / ? /日疋/ k 〃原"“ "設"le

"1// / / / / "定od程〃 〃一=x方// 〃是xk求較〃 "數甯毗〃 〃位出做X0" 〃的△MW" "後就B% 〃點必近的// 〃數,必〃 〃小後可得〃 ./集xk代〃 "餐"3)〃回疊的疊〃 5;"函疊〃0/〃返筈枕" 1-"的用"1,//的魯-// 0="梟"型過時第〃 X//所,“0+〃來K 爵對〃 k / 頁一弋 / X / e U / X /巳疋弓/ c / 1 -帀 1 / 2吩律〃ub歎,此7 bl"強〃 p〃do所況因"

/由X / "應出〃 / rmdK/ /朮一才/ "立// "建代〃 "琴" "式次" "形一" "X)第" "]!(行"

〃x=進〃 "成式〃 "寫公"?力 / / ) /

〃面〃 〃上 〃 〃複〃 / && / / 3 /

〃等" / RD /

/ "不" )/0 / O / X / =x"與匕〃 //;點 S //鞏〃鬲"

XB=Xk;

xl<= powCxO+1,1.0/3}:

“輸岀疊代值^收斂所得到的根泸 / cout? *非線性方程的根為-?endl ; cout?*,x*="<

hiljtT^

程式運作結果

P:\C++程式\數值分析\gbug儼值分析心『?? = I回I—

|非線性方程的根為;

x*=l-32472

Press any kwy to continue