好文档 - 专业文书写作范文服务资料分享网站

二分法、简单迭代法的matlab代码实现

天下 分享 时间: 加入收藏 我要投稿 点赞

实验一 非线性方程的数值解法(一)

信息与计算科学金融 崔振威 201002034031

一、 实 验目的: 熟悉二分法和简单迭代法的算法实现。 二、 实 验内容: 教材 P40 2.1.5 三、 实 验要求

1 根据实验内容编写二分法和简单迭代法的算法实现 2 简单比较分析两种算法的误差

3 试构造不同的迭代格式,分析比较其收敛性 (一)、二分法程序:

function ef=bisect(fx,xa,xb,n,delta) % fx 是由方程转化的关于 x 的函数,有 fx=0 。 % xa 解区间上限 % xb 解区间下限

% n 最多循环步数,防止死循环。 Tlta 为允许误差 x=xa;fa=eval(fx); x=xb;fb=eval(fx);

disp('[ n xa xb xc fc ]'); for i=1:n

xc=(xa+xb)/2;x=xc;fc=eval(fx); X=[i,xa,xb,xc,fc]; disp(X), if fc*fa<0

xb=xc; else xa=xc; end

if (xb-xa)

(二)、简单迭代法程序:

function [x0,k]=iterate (f,x0,eps,N) if nargin<4 N=500; end if nargin<3 ep=1e-12; end

x=x0; x0=x+2*eps; k=0;

while abs(x-xO)>eps &k

x=feval(f,xO); k=k+1; end x0=x; if k==N end

解:a、g(x)=x-3x-2x+2 二分法求方程:

(1)、在matlab的命令窗口中输入命令:

5

3

2

>>fplot('[x5-3*x3-2*x2+2]',[-3,3]);grid 得下图:

AAA

由上图可得知:方程在[-3,3]区间有根。

(2 )、二分法输出结果

>>f='xA5-3*xA3-2*xA2+2' f =

xA5-3*xA3-2*xA2+2

>>bisect(f,-3,3,20,10A(-12))

二分法、简单迭代法的matlab代码实现

实验一非线性方程的数值解法(一)信息与计算科学金融崔振威201002034031一、实验目的:熟悉二分法和简单迭代法的算法实现。二、实验内容:教材P402.1.5三、实验要求1根据实验内容编写二分法和简单迭代法的算法实现2简单比较分析两种算法的误差3试构造不同的迭代格式,分析比较其收敛性(
推荐度:
点击下载文档文档为doc格式
8jkmv4hhv444p5c1cp2i5zpak1cssx00dbk
领取福利

微信扫码领取福利

微信扫码分享