美文网首页
牛顿迭代法求方程的根

牛顿迭代法求方程的根

作者: 一路向后 | 来源:发表于2021-10-17 19:31 被阅读0次

1.问题描述

编写牛顿迭代法求方程的根。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d由主函数输入。求x在1附近的一个实根。求出根后,由主程序输出。
牛顿迭代法的公式是:x=x_0-\frac{f({x_0})}{f(x)},设迭代到|x-x_0|\leqslant10^{-5}

2.源码实现

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    float a, b, c, d;
    float u = 1, x;
    double s, t, r;

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

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

    do {
        s = a*u*u*u + b*u*u + c*u + d;
        t = 3*a*u*u + 2*b*u + c;
        x = u - s / t;
        r = x - u;
        u = x;
    }
    while(r > 0.00001 || r < -0.00001);

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

    return 0;
}

3.编译源码

$ gcc -o test test.c -std=c89

4.运行及其结果

请输入方程的系数: 2 -4 3 -6
所求方程的根为x=2.000000

相关文章

  • 1.3求根之牛顿迭代法

    目录 [TOC] 前言 今天我们讲的是具有收敛速度快,能求重根的解方程之法,牛顿迭代法。 (一)牛顿迭代法的分析 ...

  • 编写用牛顿迭代法求方程根的函数

    问题描述: 编写用牛顿迭代法求方程根的函数。 方程为:a*x^3 + b*x^2 + c*x + d = 0,系数...

  • 牛顿迭代法求方程的根

    1.问题描述 编写牛顿迭代法求方程的根。方程为,系数由主函数输入。求在1附近的一个实根。求出根后,由主程序输出。牛...

  • 牛顿迭代法

    如何用牛顿迭代法求一个数的平方根(立方根)   对于  对于该方程的求解,可以用牛顿迭代法求近似解   设r是f(...

  • C语言 川大复试 笔记

    命令行, 6_11 迭代法平方根e 6_12牛顿法求方程根 6_13二分法求fangchenggen 6_1 最大...

  • 牛顿迭代法求平方根

    牛顿迭代法的作用是使用迭代法来求解函数方程的根,简单的说就是不断地求取切线的过程.对于形如f(x)=0的方程,首先...

  • 【实验一】方程求根:牛顿迭代法

    如果有时间,我会渐渐的把数值分析的实验写完。总共8个实验,今天写的是方程求根里的通过牛顿迭代法求一元多次方程的根。...

  • 牛顿迭代法求出方程的根

    #include int main() { float x1,x0,f,g; x1=1.500000; do{ x...

  • 迭代思想

    求解一元高次方程的时候 ,用迭代法近似求解这类问题,梯度法,最小二乘法,牛顿迭代法。迭代法 用于 线性非线形方程组...

  • 一些数列题的知识背景是牛顿迭代法

    牛顿迭代法 已知函数在上单调、可导、有根,方程在(a,b)上的根可用如下迭代公式逼近: 在高中数列题中,经常出现一...

网友评论

      本文标题:牛顿迭代法求方程的根

      本文链接:https://www.haomeiwen.com/subject/zsmwoltx.html