码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-07-02 16:33:25      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:can   info   image   ima   mic   load   mamicode   class   code   

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

题目解析:

此题的难点并不是编程,主要是要理解数学公式的求解方法,理解之后代码的实现并不困难。

代码示例:

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

float solut(int a, int b, int c, int 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);
}

int main()
{
	int a, b, c, d;
	printf("input a,b,c,d:");
	scanf("%d %d %d %d", &a, &b, &c, &d);
	printf("x=%10.7f\n", solut(a, b, c, d));
	return 0;
}

运行结果:

技术图片

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

标签:can   info   image   ima   mic   load   mamicode   class   code   

原文地址:https://www.cnblogs.com/weiyidedaan/p/13225186.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!