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

牛顿迭代法求根

时间:2023-05-05 21:57:38浏览次数:33  
标签:f1 x0 float 牛顿 sout 迭代法 求根

用牛顿迭代法求根。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d的值依次为1,2,3,4,由主函数输入。求x在1附近的一个实根。求出根由主函数输出

代码如下:

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

int main() {
float sout(float a, float b, float c, float d);
float a, b, c, d;
printf("请分别输入a,b,c,d的值:");
scanf("%f,%f,%f,%f", &a, &b, &c, &d);
printf("x=%f\n", sout(a, b, c, d));
return 0;
}
float sout(float a, float b, float c, float d) {
float x = 1, x0, f, f1;
do {
x0 = x;
f = ((a * x0 + b) * x0 + c)*x0 + d;
f1 = (3 * a * x0 + 2 * b) * x0 + c;
x = x0 - f / f1;
} while (fabs(x - x0) >= 1e-3);
return x;

}

 

标签:f1,x0,float,牛顿,sout,迭代法,求根
From: https://www.cnblogs.com/pinganxile/p/17375453.html

相关文章

  • @黎耀天 发扬 笛卡尔, @物空必能 发扬 牛顿, 无敌了 。
    @黎耀天发扬笛卡尔, @物空必能发扬牛顿,  @joywee2007 发扬爱因斯坦和老子,  无敌了 。 这篇文章的灵感来自 昨前天 看到 @物空必能在牛顿吧发的 《物质的弹性与屈服强度——力学就应当探究力的问题》    https://tieba.baidu.com/p/83932......
  • 牛顿迭代法求方程根
    一、问题描述编写用牛顿迭代法求方程根的函数。方程为ax3+bx2 +cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,由主函数输出。牛顿迭代法的公式是: x=xo-f(x0)/f'(x0),设迭代到|x-x0|<=10e-5时结束。二、牛顿迭代公式 三、解题思路1、在......
  • 牛顿迭代法求方程根
    问题描述编写用牛顿迭代法求方程的根。方程ax3+bx2+cx+d=0,系数a,b,c,d由主函数输出。求x在1附近的一个实根,由主函数输出。牛顿的迭代法公式是:x=x0-f(x0)/f’(x0)代码如下#include<stdio.h>#include<math.h>floatfun(doublea,doubleb,doublec,doubled){ floatx0=......
  • 6牛顿迭代法
    #include<stdio.h>#include<math.h>floatsolution(floata,floatb,floatc,floatd){ floatx0,f,fd,h; floatx=1.5; 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/f......
  • 牛顿迭代法求方程根
    问题描述:编写用牛顿迭代法求方程根的函数。方程为ax三次方+bx平方+cx+d=0,系数a,b,c,d由主函数输入,求x在1附近的一个实根,由主函数输出。完整程序:#include<stdio.h>#include<math.h>main(){floatsolution(floata,floatb,floatc,floatd);floata,b,c,d,xprintf("请输入......
  • 1.6 牛顿迭代法求方程根
    第一部曲: 第二部曲:第三部曲:第四部曲:#include<iostream>#include<cmath>usingnamespacestd;doubleresult(doublea,doubleb,doublec,doubled){ doublex0,x=1.5,f,fd,h; do { x0=x; f=a*x0*x0*x0+b*x0*x0+c*x0+d; fd=3*a*x0+2*b*x0+c; h=f/fd; x=x0-h; }while(......
  • 牛顿迭代法求方程根(递归算法)
    #include<iostream>#include<cmath>usingnamespacestd;doublef_origianal(doublea,doubleb,doublec,doubled,doublenewx){ returna*pow(newx,3)+pow(newx,2)*b+c*newx+d;}doublef_after_or(doublea,doubleb,doublec,doubled,......
  • 牛顿迭代法求方程根
    一、问题描述:二、设计思路:1,在1附件任意取一个实数作为x1的初值,例如取x=1.52,把x=1.5带入方程,算出f函数和f函数的导数fd的值3,利用公式h=f/fd求出增量4,用牛顿迭代公式计算下一个x的值 x=x1-h5,用新产生的x替换调原来的x1,为下一次迭代做好准备6,如果|x-x1|>=1e-5,则返回第3步,......
  • 牛顿迭代求根公式
    1,问题描述:编写用牛顿迭代法求方程根的函数。方程为ax+bx’+cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,由主函数输出。2.问题分析:牛顿迭代法是取x之后,在这个基础上,找到比更接近的方程的根,一步一步迭代,从而找到更接近方程根的近似根。3.算法设计程序流程分析......
  • 牛顿迭代法求方程根
    一、问题描述:编写用牛顿迭代法求方程根的函数。方程为ax3+bx2+cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,有主函数输出。牛顿迭代法的公式是:x=x。-(f(x。)/f'(x。)),设迭代到|x-x.。|<=10-5时结束。二、设计思路1、在1附近找任一实数作为的初值x。,我们去1......