里查森迭代法线性方程组求解

里查森迭代法线性方程组求解

ID:16111497

大小:999.50 KB

页数:18页

时间:2018-08-08

里查森迭代法线性方程组求解_第1页
里查森迭代法线性方程组求解_第2页
里查森迭代法线性方程组求解_第3页
里查森迭代法线性方程组求解_第4页
里查森迭代法线性方程组求解_第5页
资源描述:

《里查森迭代法线性方程组求解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、MATLAB程序设计实践1、编程实现以下科学计算算法,并举一例应用之。(参考书籍《精通MALAB科学计算》,王正林等著,电子工业出版社,2009年)“里查森迭代法线性方程组求解”解:算法说明:里查森迭代法是最简单的迭代法,它的迭代公式为:xk+1=(I-A)*xk+b;在MATLAB中编程实现的里查森迭代法函数为:richason。功能:用里查森迭代法求线性方程组调用格式:[x,n]=richason(A,b,x0,eps,M)其中,A为线性方程组的系数矩阵;b为线性方程组的常数向量;x0为迭代初

2、始向量;eps为解的精度控制(此参数可选);M为迭代步数控制(此参数可选);x为线性方程组的解;n为求出所需精度的解实际的迭代步数。里查森迭代法的MATLAB程序代码如下:function[x,n]=richason(A,b,x0,eps,M)%采用里查森迭代法求线性方程组Ax=b的解%线性方程组的系数矩阵:A%线性方程组的常数向量:b%迭代初始向量:x0%解的精度控制:eps%迭代步数控制:M%线性方程组的解:x%求出所需精度的解实际的迭代步数:nif(nargin==3)eps=1.0e-6;

3、%eps表示迭代精度M=200;%M表示迭代步数的限制值elseif(nargin==4)M=200;endI=eye(size(A));x1=x0;x=(I-A)*x0+b;n=1;%迭代过程while(norm(x-x1)>eps)x1=x;x=(I-A)*x1+b;n=n+1;%n为最终求出解时的迭代步数if(n>=M)disp('Warning:迭代次数太多,可能不收敛!');return;endend实例:用里查森迭代法求以下线性方程组,其中初始值取为[000]输入:>>A=[1.017

4、0-0.00920.0095;-0.00920.99030.0136;0.00950.01360.9898];>>b=[101]';>>x0=[000]';>>[x,n]=richason(A,b,x0)输出的计算结果为:x=0.9739-0.00471.0010输出的迭代次数为:n=5经过5步迭代,理查森迭代法求出了方程的解为:[x1,x2,x3]=[0.9738,-0.0047,1.0010]对上述迭代计算结果进行验证,在MATLAB命令窗口中输入如下程序:>>A*x输出结果为:ans=1.0

5、0000.00001.0000经检验,计算结果正确。程序运算截图如下:开始流程图:否、源程序是Warning:迭代次数太多,可能不收敛是输出结果结束nargin==3?n=1否是x1=x;n=n+1否读取数据eps=10--6,最大步数M=200最大步数M为200x=(I-A)*x0+bnorm(x-x1)>eps?n>=200?例题流程图输入系数矩阵A↓输入初始向量x0及常数向量b[x,n]=richason(A,b,x0)↓输出计算结果↓输出迭代次数↓A*x验证结果↓解:(1)算法说明分析已给

6、方程可知,为拉普拉斯方程,在MATLAB工具箱PDETOOL中可看成椭圆型方程,转化为标准形式如下:因此,对应的c=-1,a=0,f=0,然后根据给出的边界约束条件,在微分方程工具箱中选择所需要的条件,①Dirichlet条件②Neumann条件其中n是上的单位外法矢量,g,q,h和r是定义在上的函数。(题目中Γ1与Γ2分别代表x+y=2与x-y=2这两条边界线)(2)操作流程设置坐标限选择Options栏中AxesLimits选项,输入坐标范围绘制区域图点击绘制多边形键画出要求的区域图设置边界条

7、件选择Boundary中的BoundaryMode,设置为边界模式;双击各条边界线,由方程组中已知边界条件设定设置方程参数点击,将已知方程对照标准偏微分方程形式,知c=-1,a=0,f=0。剖分网格按顺序点击两按钮,细分网格。绘制温度分布图点击绘制三维示意图:(3)简易流程图开始绘制要求区域图设置边界条件设置方程参数剖分网格绘制温度分布示意图结束(4)程序源代码functionpdemodel[pde_fig,ax]=pdeinit;pdetool('appl_cb',1);set(ax,'Dat

8、aAspectRatio',[11.51]);set(ax,'PlotBoxAspectRatio',[321]);set(ax,'XLim',[-33]);set(ax,'YLim',[-33]);set(ax,'XTickMode','auto');set(ax,'YTickMode','auto');%Geometrydescription:pderect([-201-1],'R1');pdepoly([0,...0,...2,...],...[2,...-2,...0,..

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。