二、簡單應(yīng)用題
編寫函數(shù)fun(),它的功能是利用以下所示的簡單迭代方法求方程cos(x)-x=0的一個實(shí)根。
xn+1=cos(xn)
迭代步驟如下:
(1)取x1初值為0.0。
(2)x0=x1,把x1的值賦給x0。
(3)x1=cos(x0),求出一個新的x1。
(4)若x0-x1的絕對值小于0.000001,則執(zhí)行步驟(5),否則執(zhí)行步驟(2)。
(5)所求x1就是方程cos(x)-x=0的一個實(shí)根,做為函數(shù)值返回。
程序輸出結(jié)果Root=0.739085。
注意:部分源程序已存在文件kt6_2.cpp中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入所編寫的若干語句。
文件kt6_2的內(nèi)容如下:
#include
#include
#include
floatfun()
{
}
voidmain()
{cout<<"Root="< 【參考答案】 float fun() { float x1=0.0,x0; do { x0=x1; x1=cos(x0);} while(fabs(x0-x1)>=1e-6); return x1; } 【試題解析】 解答本題的關(guān)鍵之處在于看清題中所給的“迭代步驟”,同時要理解xn+1=cosxn通式的含義,要考慮到x1的初值為0.0。 編輯推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |