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

6牛顿迭代法

时间:2023-04-23 20:56:02浏览次数:44  
标签:return float 牛顿 fd printf 迭代法 x0

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

float solution(float a, float b, float c, float d)
{
float x0, f, fd, h;
float x = 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 / fd;

x = x0 - h;

} while (fabs(x-x0) >= 1e-5);

return x;
}

int main()
{
float a, b, c, d;

float x;

printf("请输入方程的系数:");

scanf("%f %f %f %f", &a, &b, &c, &d);

x = solution(a, b, c, d);

printf("\n");

printf("所求方程的根为:x=%f\n", x);

return 0;
}v

标签:return,float,牛顿,fd,printf,迭代法,x0
From: https://www.cnblogs.com/lak1109/p/17347709.html

相关文章

  • 牛顿迭代法求方程根
    问题描述:编写用牛顿迭代法求方程根的函数。方程为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......
  • 1.5牛顿迭代法
    1.题目编写用牛顿迭代法求方程根的函数。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,由主函数输出。牛顿迭代法的公式是:x=x-f(xo),设迭代到|x-xal≤10-5时结束。2.问题分析f'(x)牛顿迭代法是取x之后,在这个基础上,找到比x更接近的方程的根,一步一......
  • 牛顿迭代法求方程根(1)
    问题描述:问题描述:用牛顿迭代法求方程的根方程为aX3+bX2+cx+d,有一根在1附近要求迭代至10-5次方以内 解题思路:问题分析:牛顿迭代法是不断接近根的方法,背景:多数方程不存在求根公式,因此求精确根比较复杂,甚至不可解,从而寻找方程的近似解就显得很重要。方法是使用*f(x)*的泰勒级......
  • 牛顿迭代法求方程根
      1.在1附近找任一实数作为x0的初值,取1.5,x0=1.5;   2.分别计算f(x),f'(x)的值   3.令h=f(x)/f'(x);   4.x=x0-h;令x0=x准备进行下一次循环;   5.若|x-x0|>=1e-5,则继续进行循环,反之输出x的值;         #include<iostream>......
  • 牛顿迭代法求方程根
    编写用牛顿迭代法求方程根的函数。方程为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的基础上寻找更接近方程的根的值,从而......