迭代法和埃特金加速法求根

#define  _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<math.h>


double p(double x);


void main()


{
double e, x0, x1, y1, z1;
long i, maxi;


printf("请输入x的精度要求:");
scanf("%lf", &e);
printf("请输入迭代初值:");
scanf("%lf", &x1);
printf("请输入最大迭代次数:");
scanf("%ld", &maxi);


printf("k\t x1 \t p1 \t z1 \n");




for (i = 0; i<maxi; i++)


{
x0 = x1;//把本次迭代初值x1暂时存入x0
//y1 = p(x1);
//z1 = p(y1);
//x1 = z1 - pow(y1-z1,2)/ (z1 - 2 * y1 + x0);
x1 = p(x1);
printf("第%ld次\t", i + 1);
printf(" %lf\t", x0);
//printf(" %lf\t", y1);
//printf(" %lf\n", z1);


if (fabs(x1 - x0) <= e)
break;
}


if (i < maxi) {
printf("已完成求迭代");
printf("方程f(x) = 0的根x = %lf \n", x1);
}
else printf("迭代次数超过上限");


system("pause");
}


double p(double x)
{
return(cos(x));
}
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值