取初值X0=-0.15 选择一种迭代算法方式求方程X3-x+0.5=0的一个实根,允许误差为0.5*10-2

以下试题来自:
问答题下列程序的功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0的一个实根。xn+l=cos(xn)
迭代步骤如下:
(1)取x1初值为0.0。
(2)x0=x1,把x1的值赋给x0。
(3)x1=cos(x0),求出一个新的x1。
(4)若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2)。
(5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
请编写函数countValue()实现程序要求,最后调用函数writeDAT()把结果输出到文件out9.dat中。
注意:部分源程序已给出。
请勿改动主函数main()和写函数writeDAT()的内容。
[试题程序]
#include<stdlib.h>
#include<math.h>
#include<stdio.h>
void writeDAT();
float countValue()
voidmain()
system("CLS");
printf("实根=% f\n",countValue());
printf("% f\n",cos(countValue())-countValue());
writeDAT();
void writeDAT()
FILE *wf;
wf=fopen("out9.dat","W");
fprintf(wf,"% f\n",countValue());
fclose(wf); 参考答案
float countValue()
float x0,xA=0.0; /*定义两个浮点型变量进行迭代*/
while(A) /*无条件循环......
为您推荐的考试题库
你可能感兴趣的试题
热门相关试卷
最新相关试卷用迭代法求方程x^3+3x^2-1=0的全部根,要求用matlab写出该求解过程的程序,误差限为0.5*10的(-5)。_百度知道
用迭代法求方程x^3+3x^2-1=0的全部根,要求用matlab写出该求解过程的程序,误差限为0.5*10的(-5)。
急急急!!
提问者采纳
p>&gt.5321<file fsid="" link="/share/link,-6,6?shareid=&uk=" name="&&gt,0;& 0;&&nbsp.5*10^(-5))n =& 22ans =&;fun&#39; dichotomy(&#39
提问者评价
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁取初值X0=-0.15 选择一种迭代方式求方程X3-x+0.5=0的一个实根,允许误差为0.5*10-2
一个玩劲舞的少女,前几天晚自习回家,被一辆卡车给撞死了,司机丧尽天良,把她的尸体拖进猪球场旁的小巷内奸污,随即逃跑.你看到这条消息后,请将它转发到3个百度贴吧,如果没发,你妈妈会在1个月后被汽车撞死,你爸爸会在1年后得绝症凄惨而亡,以后你的孩子一出生就是怪胎! 如果照上面的做了,全家平安,5天后,你喜欢的人会来找你!千万别怪我,不知道是哪个王八蛋发的 草,别怪我,,,,,,,。。。dddddddd...
用牛顿迭代公式设r是f(x)&=&0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y&=&f(x)的切线L,L的方程为y&=&f(x0)+f&#39;(x0)(x-x0),求出L与x轴交点的横坐标&x1&=&x0-f(x0)/f&#39;(x0),称x1为r的一次近似值。过点(x1,f(x1))做曲线y&=&f(x)的切线,并求该切线与x轴交点的横坐标&x2&=&x1-f(x1)/f&#39;(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f&#39;(x(n)),称为r的n+1次近似值,上式称为牛顿迭代公式。原式求导=3*X^2-1接着就代进公式求吧,具体的不多写了
为您推荐:
扫描下载二维码编写程序,用牛顿切线法求方程f(x)=x^3+2x+10=0的近似实根r,迭代初值为-1,精确到0.0001.
你大爷SmDk
#include #include float f(float x) {
y=x*x*x+2*x+10; return(y); } float f1(float x) {
y=3*x*x+2; return(y); } void main() { float x0=-1.0,x1; while(fabs(x1-x0) >=0.0001) { x1=x0-f(x0)/f1(x0); x0=x1;} printf("%f",x1); }
为您推荐:
其他类似问题
扫描下载二维码用迭代法求方程x^3+3x^2-1=0的全部根,要求用matlab写出该求解过程的程序,误差限为0.5*10的(-5).急!
voEJ76HY85
&& dichotomy(&#39;fun&#39;,-6,6,0.5*10^(-5))n =&&& 22ans =&&& 0.5321
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 迭代算法 的文章

 

随机推荐