牛顿迭代法、双点割线法及改进的双点割线法的比较

本文对比了牛顿迭代法、双点割线法及其改进版在求解方程f(x)=0时的计算结果与分析。尽管牛顿迭代法在初始值不满足特定条件时仍能收敛,但改进的双点割线法并未显著提高收敛速度。
摘要由CSDN通过智能技术生成

牛顿迭代法、双点割线法及改进的双点割线法的比较

1 题目:

wps_clip_image-71=0的根。

2 算法组织:
2.1 牛顿迭代法

算法原理见《计算方法教程(第2版)》,凌永祥、陈明奎编著,西安交通大学出版社,2005年4月第2版,第194至第195页。

代码:(C代码,运行环境为VC++6.0)

//牛顿迭代法解非线性方程

//---------------------Include Files-------------

#include

#include

//-----------------end Include Files-------------

#define M 10//迭代次数

double f(double x);//f(x)函数

double df(double x);//f(x)的导数

int main()

{

double x[100];

int i = 1;

x[0] = 1;

for(; i < M; i++)

{

x[i] = x[i-1] - f(x[i-1]) / df(x[i-1]);

printf("x[%d] = %.7lf/n", i, x[i]);

}

return(0);

}

double f(double x)

{

return  (pow(x,3)-4);

}

double df(double x)

{

return (3*pow(x,2));

}

2.2 双点割线法

算法原理见《计算方法教程(第2版)》,凌永祥、陈明奎编著,西安交通大学出版社,2005年4月第2版,第197至第199页。

代码:(C代码,运行环境为VC++6.0)

//双点割线法

//---------------------Include Files-------------

#include

#include

//-----------------end Include Files-------------

#define M 10//迭代次数

double f(double x);//f(x)函数

int main()

{

double x[100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值