admin 管理员组

文章数量: 887021

用牛顿迭代法求根,方程ax^3 + bx^2 + cx + d =0;系数a,b,c,d的值依次为1,2,3,4由主函数输入——C语言

1 概述

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

1.1 牛顿迭代法
2 解法
//C程序设计第五版(谭浩强)
//章节:第七章 用函数实现模块化程序设计 
//练习7.12 用牛顿迭代法求根,方程ax^3 + bx^2 + cx + d =0;系数a,b,c,d的值依次为1,2,3,4由主函数输入。
// 求x在1附近的一个实根,求出根后由主函数输出 
#include <stdio.h>
#include <math.h>int main()
{double  newton_iteration_algorithm(double x);double x;printf("请输入x:");scanf("%lf", &x);printf("方程在 %lf 附近的实根为: %lf\n",x,newton_iteration_algorithm(x));return 0;
}double  newton_iteration_algorithm(double x)
{double r[100];int i=0;r[0] = x;do{	r[i+1] = r[i] - (r[i]*r[i]*r[i]+2*r[i]*r[i]+3*r[i]+4)/(3*r[i]*r[i]+4*r[i]+3);i++;}while(fabs(r[i]-r[i-1])>=1e-6);return r[i];
}

本文标签: 用牛顿迭代法求根,方程ax3bx2cxd 0系数a b c d的值依次为1,2,3,4由主函数输入C语言