关闭

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

标签: C语言牛顿迭代法求解方程的近似根
1713人阅读 评论(0) 收藏 举报
分类:
//牛顿迭代法!
/*
============================================================
题目:用牛顿迭代法求解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
0
查看评论

C语言之基本算法23—二分法求方程近似根

//二分法! /* ======================================================== 题目:用二分法求解方程3x^3-2x^2-16=0的近似解。 ================================================...
  • LZX19901012
  • LZX19901012
  • 2015-07-10 11:08
  • 2687

3元一次方程(牛顿迭代法求方程的根)

牛顿迭代方求方程根的方法自行查找
  • dd_zhouqian
  • dd_zhouqian
  • 2014-07-15 17:03
  • 1025

用牛顿迭代法和二分法求方程的根【C语言】

1.用牛顿迭代法求该方程在1.5附近的根:2X^3-4X^2+3X-6=0 #include #include double func(double x) //函数 {return 2*x*x*x-4*x*x+3*x-6.0;} double func1(double x) //导函数 {...
  • huixingshao
  • huixingshao
  • 2016-04-06 13:24
  • 2870

用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3X-6=0

【描述】 用牛顿迭代法求下面方程在1.5附近的根:2x^3-4x^2+3X-6=0 【程序流程分析】 ① 赋值x0=1.5,即迭代初值;   ② 用初值x0代入方程中计算此时的f(x0)及f’(x0),程序中用变量f描述方程的值,用fd描述方程求导之后的...
  • u013053957
  • u013053957
  • 2015-06-22 11:16
  • 6308

求一元方程的根(牛顿迭代法)

牛顿迭代公式: 那么根据该公式可以按以下步骤求解一元方程的任意次的根 (1) 选一个方程的近似根,赋给变量Xn; (2) 将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0; (3) 当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。 若方程有根,并...
  • u013074465
  • u013074465
  • 2015-04-27 09:05
  • 1551

C语言之基本算法32—鞍点

//数组 /* ================================================================== 题目:求任意矩阵的所有鞍点!并统计个数!(在矩阵中,一个数在所在行中是最大值, 在所在列中是最小值,则被称为鞍点。) 如:   ...
  • LZX19901012
  • LZX19901012
  • 2015-07-13 00:59
  • 1515

1、编写程序,分别用二分法和牛顿迭代法求解方程x3 – 3x – 1 = 0在x = 2附近的实根,要求计算精确到小数点后七位数字为止,并将求出的近似结果与理论值2cos20 相比较,二分法的初始迭代

二分法: #include #include void main() {     double x,x1=1,x2=3,f1,f2,f;     f1=x1*x1*x1-3*x1-1;     ...
  • xiezilidemao
  • xiezilidemao
  • 2016-10-09 23:08
  • 2510

C语言用二分法求方程的近似解的方法

C语言用二分法求方程的近似解的方法 基础知识以下地址:http://jingyan.baidu.com/article/597a06438def54312a524376.html 我的应用如下:求x^5+x^3+7=0,求取x的值是多少? 编译环境:Window8 +C Fre...
  • jone741852963
  • jone741852963
  • 2014-03-06 18:26
  • 7665

数值作业:二分法求方程的根之C语言实现代码

二分法是求方程近似解的一种简单直观的方法,设函数f(x)在[a,b]上连续,且f(a)*f(b)<0,则表明f(x)在[a,b]上至少有一个零点,这是微积分中的介值定理(不得不吐槽一下大学微分方程老师讲课跟个煞笔一样,反正我是重来没听的).然后通过二分区间,缩小区间范围,当小到一定的精确度的时...
  • Chen_dSir
  • Chen_dSir
  • 2017-04-19 18:05
  • 5374

牛顿迭代法求方程根

/*****牛顿迭代法求方程根***  牛顿公式:x(k+1) = x(k) - f(x(k)) / f(x(k))  迭代函数:Ф(x) = x - f(x) / f(x)  属性:方程求根迭代法    此时的迭代函数必须保证X(k)有极限,即迭代...
  • DragonLord0323
  • DragonLord0323
  • 2005-06-14 21:08
  • 3866
    个人资料
    • 访问:176791次
    • 积分:2961
    • 等级:
    • 排名:第14072名
    • 原创:116篇
    • 转载:3篇
    • 译文:0篇
    • 评论:26条