C的一些简单习题(9)--牛顿迭代法求根
2005-12-25 21:26
295 查看
//牛顿迭代法求根
#include <stdio.h>
#include <math.h>
float root(float i,float a,float b,float c,float d)
{
float x,x0,f1,f2;
x=i;
do
{
x0=x;
f1=x*(x*(a*x+b)+c)+d;
f2=x*(3*a*x+2*b)+c;
x=x0-f1/f2;
}while(fabs(x-x0)>1.e-6);
return x;
}
main()
{
float a,b,c,d;
a=1,b=2,c=3,d=4;
printf("根是%f",root(1,1,2,3,4));
}
#include <stdio.h>
#include <math.h>
float root(float i,float a,float b,float c,float d)
{
float x,x0,f1,f2;
x=i;
do
{
x0=x;
f1=x*(x*(a*x+b)+c)+d;
f2=x*(3*a*x+2*b)+c;
x=x0-f1/f2;
}while(fabs(x-x0)>1.e-6);
return x;
}
main()
{
float a,b,c,d;
a=1,b=2,c=3,d=4;
printf("根是%f",root(1,1,2,3,4));
}
相关文章推荐
- 一些简单的linux习题(可做复习用)三
- C的一些简单习题(3)--打印杨辉三角形(10行)
- C的一些简单习题(7)--递归法求n!
- 一些简单的linux习题(可做复习用)四
- 一些简单的linux习题(可做复习用)五
- C的一些简单习题(8)--静态变量求n!
- C的一些简单习题(11)--带参数的宏
- C的一些简单习题(13)--数组a中n个整数按相反顺序存放
- 一些简单的linux习题(可做复习用)六
- C的一些简单习题(12)--条件编译
- 一些简单的linux习题(可做复习用)八
- 一些简单的linux习题(可做复习用)七
- 习题 7.12 用牛顿迭代法求根。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d的值依次为1,2,3,4,由主函数输入。求x在1附近的一个实根。求出根后由主函数输出。
- 一些简单的linux习题(可做复习用)一
- C的一些简单习题(1)求2/1,3/2,5/3,…………前20项的和
- C的一些简单习题(5)--两个字符串比较
- C的一些简单习题(10)--n阶勒让德多项式
- 一些简单的linux习题(可做复习用)二
- C的一些简单习题(2)--求圆周率
- C的一些简单习题(4)--连接两个字符串