matlab Aitken迭代法,数学实验“非线性方程二分法,迭代法,Aitken迭代法,Steffensen迭代法”实验报告(内含matlab程序代码).doc...

您所在的位置:网站首页 atiken加速 matlab Aitken迭代法,数学实验“非线性方程二分法,迭代法,Aitken迭代法,Steffensen迭代法”实验报告(内含matlab程序代码).doc...

matlab Aitken迭代法,数学实验“非线性方程二分法,迭代法,Aitken迭代法,Steffensen迭代法”实验报告(内含matlab程序代码).doc...

2023-10-28 12:54| 来源: 网络整理| 查看: 265

您所在位置:网站首页 > 海量文档

>计算机>matlab

7e3e25dd1884ce9b7725a69a698d5758.gif

数学实验“非线性方程二分法,迭代法,Aitken迭代法,Steffensen迭代法”实验报告(内含matlab程序代码).doc10页

本文档一共被下载:2377011b61454b208b34ad77b4c31088.gif次,您可全文免费在线阅读后下载本文档。

072ad097814a33d1ad18e33ca14a5a9e.png

9ec2792a743ebdf4575ee09a03c275ea.png

7af312d1be2cfc1e59f15880bb7a7e7a.png

5f207613e329ca76dc87c76d3ff77e64.png

adf7aa3071c520b8a2063089f549261c.png

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

2.该文档所得收入(下载+内容+预览三)归上传者、原创者。

3.登录后可充值,立即自动返金币,充值渠道很便利

西京学院数学软件实验任务书

课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法实验目的熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容非线性方程的二分法

非线性方程的迭代法

非线性方程的松弛迭代法

非线性方程的Aitken迭代法

非线性方程的Steffensen迭代法成绩教师实验六实验报告

实验名称:非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法。

实验目的:进一步熟悉理解掌握最速下降法与共轭梯度法解法思路熟悉非线性方程的二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法,提高matlab编程能力。

实验要求:非线性方程,应用二分法,迭代法,松弛迭代法,Aitken迭代法,Steffensen迭代法编程求解非线性方程的数值解。

实验原理:

二分法:

设函数在区间上连续,而且,则在区间上至少有一个根。

首先确定有限区间:依据零点定理。设 ,且,则方程 在区间上至少有一个根。如果在上恒正或恒负,则此根唯一。

令若,则为有根区间,否则为有根区间。记新的有根区间为,

则且;对重复上述做法得:且

设所求的根为,则,即,由得

取为的近似解。

不动点迭代法

对于非线性方程:常常可以化成等价的方程可以选取一个初始近似值,构造迭代序列

如此产生序列。这种迭代方法称为不动点迭代,或Picard 迭代。这个原理看似很容易直观理解,但是却有相当深刻的数学内涵,数学系的学生在泛函分析与微分方程理论等多门专业课程里都会遇到。如果连续,而且,则是的一个不动点。因此为方程的一个根。

Aitken加速迭代

由初值出发,计算出后,便可在曲线上找到两个点。将这两点所在的直线与直线的交点设为,则点满足:解得:,将视为新的初值,重复上述步骤可得,由此产生迭代公式,。

Steffensen迭代法

该迭代法解方程可以看成是另一种不动点迭代:其中迭代函数为得到迭代公式为:

实验内容:

%二分法解非线性方程

function er_fen(f,a,b,esp);

f1=subs(f,a);

f2=subs(f,b);

if f1*f2>0

disp('该方程在【a,b】上无解!');

elseif f1==0

root=a;

elseif f2==0

root=b;

else

a0=a;

b0=b;

A=[];

while abs((b0-a0)/2)>=esp

half=(a0+b0)/2;

fa=subs(f,a0);

fb=subs(f,b0);

fhalf=subs(f,half);

if fhalf==0

root=half;

break;

elseif fa*fhalftol)

x1=subs(f,x0)+x0;

%迭代计算

wucha=abs(x1-x0);

x0=x1; % 更新x0的值在循环中这一句非常重要

time=time+1;

%记下迭代次数

end

x=x1;

%Aitken加速收敛方法

function [gen,time]=Aitken(func,x0,tol)

if(nargin==2)

tol=1.0e-5;

end

gen=x0;

x(1:2)=[0,0];

t=0; %记录迭代次数

m=0;

x2=x0;

wucha=0.1; %设置误差初值

while(wucha>tol)

t=t+1; %记下累

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名:

验证码:

c9f2bced460b0329ba0aadbbc3f0fc71.png

匿名?

发表评论



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3