matlab程序设计实践_第1页
matlab程序设计实践_第2页
matlab程序设计实践_第3页
matlab程序设计实践_第4页
matlab程序设计实践_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、迭代步数。里查森迭代法的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; %eps表示迭代精度 M=200; %M表示迭代步数的限制值elseif(nargin=4) M=200;endI=eye(size(A);x1=x0;x=(I-A)*x0+b;n=1;%迭代过程while(norm

3、(x-x1)>eps) x1=x; x=(I-A)*x1+b; n=n+1; %n为最终求出解时的迭代步数 if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; endend实例:用里查森迭代法求以下线性方程组,其中初始值取为0 0 0输入:>> A=1.0170 -0.0092 0.0095;-0.0092 0.9903 0.0136;0.0095 0.0136 0.9898;>> b=1 0 1'>> x0=0 0 0'>> x,n=richason(A,b

4、,x0)输出的计算结果为:x = 0.9739 -0.0047 1.0010输出的迭代次数为:n = 5经过5步迭代,理查森迭代法求出了方程的解为: x1,x2,x3=0.9738,-0.0047,1.0010对上述迭代计算结果进行验证,在MATLAB命令窗口中输入如下程序:>> A*x输出结果为:ans = 1.0000 0.00001.0000经检验,计算结果正确。程序运算截图如下:开始流程图:否、源程序 是Warning:迭代次数太多,可能不收敛结束否是x1=x;n=n+1否读取数据读取数据nargin=3?eps=10-6 ,最大步数为200 n=1?最大步数M为200x=

5、(I-A)*x0+bnorm(x-x1)>eps?是N>=200?例题流程图输入系数矩阵A输入初始向量x0及常数向量bx,n=richason(A,b,x0)输出计算结果输出迭代次数A*x验证结果解:(1)算法说明分析已给方程可知,为拉普拉斯方程,在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栏中Axes Limits选项,输入坐标范围绘制区域图点击绘制多边形键 画出要求的区域图设置边界条件选择Boundary中的Boundary Mode,设置为边界模式;双击各条边界线,由方程组中已知边界条件设定设置方程参数点击 ,将已知方程对照标准偏微分方程形式,知c=-1,a=0,f=0。 剖分网格按顺序点击 两按钮,细分网格。绘制温度分布图点击绘制三维示意图:(3)简易流程图 开始绘制要求区域图设置边界条件设置方程参数剖分网格绘制温度分布示意图结束实验1 用GUI方式解下列PDE解:(1)算法说明同上题,由已给方程可知,为拉普拉斯方程,在PDETO

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论