首页 > 其他分享 >牛顿迭代法求方程根

牛顿迭代法求方程根

时间:2023-04-15 15:36:55浏览次数:39  
标签:方程 cout float 牛顿 cin 迭代法 x0 函数

编写用牛顿迭代法求方程根的函数。方程为a*x的三次方+b*x的平方+c*x+d=0,系数a,b,c,d有主函数输入。求x在1附近的一个实根。求出根后,有主函数输出。牛顿迭代法的公式是:x=x。-f(x。)/f’(x。),设迭代到 |x-x。|<=10的-5次方时结束。

牛顿迭代法是在已知x0的基础上寻找更接近方程的根的值,从而找到更近似的值。设m为f(x)=0的根,我们先选取x0作为m的近似值,利用导数求出x1作为更接近m的值,利用条件判断求出符合范围内的x的值。

 

 

 

#include<iostream>
#include<cmath>//函数中用了fabs取绝对值函数,要写这个头文件
using namespace std;
float solution(float a,float b,float c,float d)//定义求值函数并接受传入的值
{
float x0,x=1.5,y,y1,z;
do
{
x0=x;
y=a*x0*x0*x0+b*x0*x0+c*x0+d;
y1=3*a*x0*x0+2*b*x0+c;
z=y/y1;
x=x0-z;
}while(fabs(x-x0)>=1e-5);
return x;
}
int main()
{
float a,b,c,d,x;//a,b,c,d 表示系数,x用来获取结果
cout<<"a=";
cin>>a;
cout<<"b=";
cin>>b;
cout<<"c=";
cin>>c;
cout<<"d=";
cin>>d;
x=solution(a,b,c,d);
cout<<"方程x的根为x="<<x<<endl;
return 0;
}

运行结果如下:

 

标签:方程,cout,float,牛顿,cin,迭代法,x0,函数
From: https://www.cnblogs.com/618zyk/p/17320115.html

相关文章

  • w7 T232071 解方程
      主要思路:由于根与根之差的绝对值>=1,所以在单位唯一的区间内至多只有一个根。使用零点存在性定理,定义左端点left和right,若f(left)*f(right)<=0,则在区间内必有根,然后再在区间内使用二分来确定根的精度。 代码如下:#include<iostream>#include<cmath>#include<algorithm>#in......
  • day 6 牛顿迭代法求根
     1.由f(x)计算f(x)的导数;2.输入一个X,并让其作为X0进行计算;3.反复迭代X,直到|x-x0|<=1e-5;4.输出当前X; #include<iostream>#include<math.h>usingnamespacestd;intmain(){floatX,X0,a,b,c,d;printf("输入X0,a,b,c,d\n");cin>>X0>>a>>b>>......
  • 牛顿迭代法求方程根
    一问题描述用牛顿迭代方程x=x0-fx0/fx0'求根方程为a*x*x*x+b*x*x+c*x+d初始值为1.5求1的近似值二设计思路迭代方程球根套用公式将fx0和fx0'求出,再将函数判断收敛还是离散,运用fabs函数用上#include<math.h>的头文件。三程序流程图  四伪代码实现定义函数fact作为牛顿公......
  • 交直流潮流计算 统一迭代法 采用matlab编写交直流潮流计算程序,程序采用统一迭代法
    交直流潮流计算统一迭代法采用matlab编写交直流潮流计算程序,程序采用统一迭代法,9节点系统,有详细参考资料。ID:5990668049980781......
  • 牛顿迭代法求方程根和最佳存款方案
    牛顿迭代法求方程根:解题思路:输入a,b,c,d,定义变量储存f(x0)和f’(x0),给x0取一个在1附近的初值,利用dowhile语句来实现条件,当符合结束条件时输出x。代码:#include<iostream>#include<iomanip>#include<cmath>usingnamespacestd;doubleqiu(inta,intb,intc,intd)//设计......
  • R语言中实现sem进行结构方程建模和路径图可视化|附代码数据
    原文链接:http://tecdat.cn/?p=23312最近我们被客户要求撰写关于结构方程建模的研究报告,包括一些图形和统计输出。结构方程模型是一个线性模型框架,它对潜变量同时进行回归方程建模引言 诸如线性回归、多元回归、路径分析、确认性因子分析和结构回归等模型都可以被认为是SEM的......
  • 数理方程中定解问题的求解法(一)
    泛定方程和定解问题泛定方程和叠加原理简单来说泛定方程就是不带任何初始条件和边界条件的方程,它刻画广泛性的运动规律,不涉及具体的系统和具体的问题。泛定方程有线性和非线性之分,而线性泛定方程满足叠加原理,而叠加原理是求解线性范定方程的定解问题的强有力的工具。叠加原理是......
  • 同余方程
    前置知识:裴蜀定理扩展欧几里得算法(exgcd)裴蜀定理:定义:裴蜀定理,又称贝祖定理,是一个关于\(gcd\)的定理。内容:设\(a,b\)整数,则存在整数,使得\(ax+by=\gcd(a,b)\)证明:略。扩展欧几里得算法(exgcd):意义:扩展欧几里得算法是用来解决形如\(ax+bd=k\)......
  • 1237. 找出给定方程的正整数解
    题目链接:1237.找出给定方程的正整数解方法一:二分查找解题思路枚举\(x\),然后对\(y\)进行二分查找,确定满足\(customfunction.f(x,y)==z\)的数对\((x,y)\),将其加入\(ans\)中,最终返回\(ans\)。代码/**//Thisisthecustomfunctioninterface.*//Youshou......
  • 题目 1028: [编程入门]自定义函数求一元二次方程
    题目描述求方程的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。输入格式abc输出格式x1=?x2=?样例输入复制411样例输出复制x1=-0.125+0.484ix2=-0.125-0.484i解题思路:一元二次方程只含有......