求解一元多次方程的两种方法:牛顿迭代法和二分法
2015-01-27 20:33
627 查看
求解方程x*x*x-2*x-1=0,C语言实现
一:牛顿迭代法,牛顿迭代法是从泰勒公式中取前两项构成线性近似方程,从x0开始,一步一步接近近似解,直到误差在限定范围内。
二:二分法
一:牛顿迭代法,牛顿迭代法是从泰勒公式中取前两项构成线性近似方程,从x0开始,一步一步接近近似解,直到误差在限定范围内。
//牛顿迭代法求求解方程的根 #include <stdio.h> #include <math.h> int main() { double f(double x); double fd(double x); double x0,x1=3; do { x0=x1; x1=x0-f(x0)/fd(x0); } while(fabs(x1-x0)>=1e-5);//1e-5为精确度 printf("根为:%f\n",x1); return 0; } double f(double x) { return x*x*x-2*x-1; } double fd(double x) { return 3*x*x-2; }
二:二分法
#include <stdio.h> #include <math.h> // 二分法求方程的解 int main() { double f(double x); double x0=1,x1=2,root; do { double mid=(x0+x1)/2; if(f(mid)==0) { root==mid; break; } else if(f(x0)*f(mid)<0) { x1=mid; } else if(f(x1)*f(mid)<0) { x0=mid; } }while(fabs(x0-x1)>=1e-5);//fabs(m)的使用方法 printf("根为:%f",(x0+x1)/2); return 0; } double f(double x) { return x*x*x-2*x-1; }
相关文章推荐
- 求解一元多次方程 牛顿迭代法
- 用二分法解一元高次方程的单根(用两种语言描述的:C语言和Matlab语言)
- 1、编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后七位数字为止,并将求出的近似结果与理论值2cos20 相比较,二分法的初始迭代
- 数值计算方法:二分法求解方程的根(伪代码 python c/c++)
- 使用二分法求解一元N次方程的近似值
- TF随笔-14-二分法求解一元方程
- 用类方法求解一元二次实系数方程
- 求解一元多次方程(迭代法)
- 高斯消元法求解一元多次方程 C/C++实现
- 二分法 简单迭代法 Newton法 弦截法 求解非线性方程的根
- 二分法求解方程例子的说明!!
- 一元多次方程的解
- 二分法,matlab中利用二分法求解一个多项式方程的近似值。
- 二分法,matlab中利用二分法求解一个多项式方程的近似值。
- 求平方根的方法(牛顿迭代法和二分法)
- 计算方法之二分法求方程根
- 计算方法之牛顿迭代法求方程根
- 用牛顿方法解一元非线性方程的根
- 牛顿迭代法解一元方程组
- 牛顿迭代法 求解方程