牛顿迭代法求方程根

问题描述

编写用牛顿迭代法求方程的根。方程ax3+bx2+cx+d=0,系数a,b,c,d由主函数输出。求x在1附近的一个 实根,由主函数输出。牛顿的迭代法公式是:x = x0-f(x0)/f’(x0)

代码如下

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

float fun(double a, double b, double c, double d)
{
	float x0 = 2.0;
	float x;

	x = x0 - ((a * pow(x0, 3) + b * pow(x0, 2) + c * x0 + d) / (a * pow(x0, 3) + b * pow(x0, 2) + c * x0 + d));

	return x;
}

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

	printf("请输入abcd的值:\n");

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


	printf("%f", fun(a, b, c, d));
}

image

posted @ 2023-04-25 19:44  笠大  阅读(235)  评论(0编辑  收藏  举报