C 迭代法求开方 牛顿迭代法求根近似值
2013-03-26 13:48
357 查看
#include <stdio.h> #include <math.h> double f(double x); double f2(double x); int main(){ //利用迭代法求√a的值 int a=7; double s1=0; double s2=0; s2=a; while( fabs(s1-s2)>1e-5 ){//10^-5 s1=s2;//进行新的一轮计算 //原来的后一项是现在的第一项 s2=(s1+a/s1)/2; } printf("%lf",s2); //利用牛顿迭代法求方程的根 //有这么一个方程2x^3+4x^2+3x-6=0 //则令f(x)=2x^3+4x^2+3x-6 求出f'(x)=6x^2-8x+3 //则下一个近似方程解x(n+1)和上一个解x(n)的关系:x(n+1)=x(n)-f((xn))/f'(x(n)) //下面求来求2x^3+4x^2+3x-6=0方程的解 利用上述代码来求该方程在x=1.5附近的根 //当f(x)的小于等于到10^-6次方就停止 double y=1.5; double x=1.5; while(fabs(y)>(1e-6)){ y=f(x); x=x-y/f2(x); } printf("\n%lf",x); } double f(double x){ return 2*pow(x,3)-4*pow(x,2)+3*x-6; } double f2(double x){ return 6*pow(x,2)-8*x+3; }
相关文章推荐
- 蓝桥杯 C/C++参考题目 开平方(数学题,迭代法求开方)
- 牛顿迭代法求根
- 斯特芬森加速迭代法(Steffensen)-埃特金方法(Aitken) 一元非线性方程求根 C语言实现
- 牛顿迭代法 一元非线性方程求根 C语言实现
- 用“牛顿迭代法”求根号2的近似值
- 开方运算(求根)-- 中值定理
- 通俗易懂地讲解牛顿迭代法求开方
- 牛顿迭代法求开方
- 方程求根(二分法和牛顿迭代法)
- leetcode:Sqrt(x) 牛顿迭代法求整数开方
- 迭代法和埃特金加速法求根
- matlab中的开方sqrt用牛顿迭代法实现的代码
- 牛顿迭代法求近似根与二分法求根
- 牛顿迭代法求高精度开方
- 牛顿迭代法求高精度开方
- leetcode 69. Sqrt(x)(C语言,牛顿迭代法求开方问题)46
- 99、插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法
- 习题 7.12 用牛顿迭代法求根。方程为ax^3+bx^2+cx+d=0,系数a,b,c,d的值依次为1,2,3,4,由主函数输入。求x在1附近的一个实根。求出根后由主函数输出。
- C的一些简单习题(9)--牛顿迭代法求根
- 迭代法与开方求值