實驗報告
專業班級: 學号: 姓名:
實驗名稱:用不動點疊代法解非線性方程
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