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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值