c语言 迭代法求方程的根,编写用牛顿迭代法求方程根的函数

问题描述:

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

方程为:a*x^3 + b*x^2 + c*x + d = 0,系数a,b,c,d由主函数输入。

求x在1附近的一个实根。求出根后,由主函数输出。

#include

float slove(int modulus_0pow,int modulus_1pow,int modulus_2pow,int modulus_3pow,float root)

{

float root_0;

float function_value;

float derivative;

float constant;

root_0 = root;

while(function_value <= 0.1)

{

if(root != root_0)

{

root = -constant / derivative;

}

function_value = modulus_3pow * root * root * root + modulus_2pow * root * root + modulus_1pow * root + modulus_0pow;

derivative = 3 * modulus_3pow * root * root + 2 * modulus_2pow * root + modulus_1pow;

constant = function_value - derivative * root;

}

return root;

}

int main()

{

int modulus_0pow;

int modulus_1pow;

int modulus_2pow;

int modulus_3pow;

float root;

printf("Please input the modulus_(0~3)pow:\n");

scanf("%d",&modulus_0pow);

scanf("%d",&modulus_1pow);

scanf("%d",&modulus_2pow);

scanf("%d",&modulus_3pow);

printf("Please input the root:\n");

scanf("%d",&root);

root = slove(modulus_0pow,modulus_1pow,modulus_2pow,modulus_3pow,root);

printf("root:%.4f\n",root);

return 0;

}

————————————————

版权声明:本文为CSDN博主「浊之清」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/qq_34706280/article/details/53458370

你可能感兴趣的:(c语言,迭代法求方程的根)