1.6 牛顿迭代法求方程根
第一部曲:利用牛顿迭代法求方程根,思路是利用函数封装实现求方程根这个过程,最后利用主函数,输入参数,传递给函数来求。函数方程是a倍x三次方加上b倍x平方+c倍x+常数d,求导之后就是3a倍x的平方加上2b倍x加上常数c。利用每次求的x来算fx和求导之后的fx,然后算出h,求出新的x,直到不满足误差在1e-5之外,即误差很小了,退出循环,返回所求值。
第二部曲:
第三部曲:定义a,b,c,d,传入函数,进行迭代。
算出x和x0,还有h,判断误差是否够小,够小就退出,不够继续迭代。
第四部曲:
#include<iostream>
#include<cmath>
using namespace std;
double result(double a,double b,double c,double d)
{
double x0,x=1.5,f,fd,h;
do
{
x0=x;
f=a*x0*x0*x0+b*x0*x0+c*x0+d;//原函数代入值
fd=3*a*x0*x0+2*b*x0+c;//求导后的函数代入值
h=f/fd;//求出h
x=x0-h;//最新的x
}while(fabs(x-x0)>=1e-5);//不满足条件退出,即误差很小的时候退出
return x;
}
int main()
{
double a,b,c,d,x;
cin>>a>>b>>c>>d;
x=result(a,b,c,d);//利用函数求得最后的值
printf("%.6lf",x);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」