编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=O的一个实根。 Xn+1=COS(Xn) 迭代步骤如下: (1)取x1初值为0.0。 (2)xO=x1

admin2009-01-15  44

问题 编写函数fun(),它的功能是利用以下所示的简单迭代方法求方程cos(x)-x=O的一个实根。
                            Xn+1=COS(Xn)
   迭代步骤如下:
   (1)取x1初值为0.0。
   (2)xO=x1,把x1的值赋给x0。
   (3)x1=cos(x0),求出一个新的x1。
   (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2)。
   (5)所求x1就是方程cos(x)-x=O的一个实根,作为函数值返回。
   程序输出结果Root=0.739085。
   注意:部分源程序已存在文件rest6_2.cpp中。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
   文件test6_2的内容如下:
   #include<conio.h>
   #include<math.h>
   #include<iostream.h>
   float fun()
   {
   }
   void main()
   {
     cout<<"Root="<<fun()<<endl;
   }

选项

答案float fun() {float x1=0.0,x0; do {x0=x1; x1=cos(x0); } while(fabs(x0-x1)>=1e-6); return x1; }

解析 解答本题的关键之处在于看清题中所给的“迭代步骤”,同时要理解xn+1=cosxn通式的含义,要考虑到x1的初值为0.0注意:fabs()函数的功能是用来求某数的绝对值,用时要进行文件包含#include<math.h>。
转载请注明原文地址:https://kaotiyun.com/show/yKID777K
0

最新回复(0)