C语言之基本算法25—牛顿迭代法求方程近似根

原创 2015年07月10日 12:07:32
//牛顿迭代法!
/*
============================================================
题目:用牛顿迭代法求解3*x*x*x-2*x*x-16=0的近似解。
============================================================
*/
#include<stdio.h>
#include<math.h>
#define E 1e-8
double hs(double x)
{
return(3*x*x*x-2*x*x-16);     //原函数
}
double dhs(double x)
{
return(9*x*x-4*x);             //导函数
}
void main()
{
double x1=1.0,x2;                   
x2=x1+1.0;
while(fabs(x2-x1)>E)     //无论怎么变,只要x1和x2能进入循环,就可以完成求解,即x2!=x1.
{
x1=x2;
x2=x1-hs(x1)/dhs(x1);    //此处是用泰勒展式保留前两项推倒得出的。读者可查找相关文献详细理解之。
}
printf("方程:3*x*x*x-2*x*x-16=0\n");
printf("解得:x=%.4lf\n",x2);
}


/*
============================================================

评: 牛顿迭代法很好掌握,实用性较强!编程时只需求得导函数, 将原函数和

导函数在程序中替换,即可求得方程的解!

============================================================

*/


版权声明:博主文章可以被非商用转载,但请务必注明出处,因水平有限,难免出错,在此免责。

相关文章推荐

牛顿迭代法求平方根

直接进入主题,打开计算器平方根到底是怎么计算的,一直是我心里的一个疑问,从上初中学了根号以后,老师就让我背根号2等于1.41,根号三是1.732,其他的不用记,题目出现会在后面告诉你。那么这些数字到底...

牛顿迭代法求近似根与二分法求根

牛顿迭代法设r是f(x) = 0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y = f(x)的切线L,L的方程为y = f(x0)+f’(x0)(x-x0),求出L与x轴交点的横坐标...

刷清橙OJ--A1094.牛顿迭代法求方程的根

问题: A1094. 牛顿迭代法求方程的根 时间限制:1.0s   内存限制:256.0MB   总提交次数:1330   AC次数:514   平均分:52.12 【问题描述】   给定三...

牛顿迭代法求方程解

牛顿迭代法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根公...

使用牛顿迭代法求根 一元三次方程的根

牛顿迭代法(Newton’s method)又称为牛顿-拉夫逊方法(Newton-Raphson method),它是牛顿在17 世纪提出的一种在实数域和复数域上近似求解方程的方法。多数方程不存在求根...

C语言实现牛顿迭代法解方程

利用迭代算法解决问题,需要做好以下三个方面的工作: 一、确定迭代变量 在可以用迭代算法解决的问题中,我们可以确定至少存在一个可直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。...

算法#01--素数和牛顿迭代法求平方根

切线法
  • tclxspy
  • tclxspy
  • 2016年04月01日 10:21
  • 951

【算法王道】二分法和牛顿迭代法求平方根

若求x的平方根,就是在0到x所有正值之间肯定有个guess^2约等于x,然后这个误差值epsilon可以自定义。 二分法很简单,我就直接贴代码了 void sqrtBI(float x,float...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言之基本算法25—牛顿迭代法求方程近似根
举报原因:
原因补充:

(最多只允许输入30个字)