
用c语言求x-cosx=0在x=0.1附近的根
2个回答
推荐于2018-03-08 · 知道合伙人软件行家
关注

展开全部
可以用二分法或牛顿迭代法来计算。不过要求是求x = 0.1附近的根,那就用牛顿迭代法比较好。
/*
用牛顿迭代法计算x-cosx在0.1附近的值。需要首先输入精度
*/
#include<stdio.h>
#include<math.h>
void main(){
double x = 0.1; /* 迭代初始值 */
double y;
double tmp;
double a;
printf("请输入计算的精度(例如0.001):");
scanf("%lf",&a);
do{
y = x - (x - cos(x))/(1 + sin(x));
tmp = x;
x = y;
}while(fabs(y - tmp) >= a);
printf("x-cosx在0.1附近的值(精度为:%lf)为:%lf\n",a,x);
}
你输入精度为0.001,得到的结果应该就是:0.739085。
在Matlab中用下面的语句计算,可得到结果为0.7391,可以保证精确到0.001.
fun = @(x)(x -cos(x));
fzero(fun,0.1)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询