- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MATLAB程序设计实践
1、编程实现以下科学计算算法,并举一例应用之。(参考书籍《精
通MALAB科学计算》,王正林等著,电子工业出版社,2009
年)
“里查森迭代法线性方程组求解”
解:
算法说明:
里查森迭代法是最简单的迭代法,它的迭代公式为:xk+1=(I-A)*xk+b;在MATLAB中编程实现的里查森迭代法函数为:richason。
功能:用里查森迭代法求线性方程组
调用格式:[x,n]=richason(A,b,x0,eps,M)
其中,A为线性方程组的系数矩阵;
b为线性方程组的常数向量;
x0为迭代初始向量;
eps为解的精度控制(此参数可选);
M为迭代步数控制(此参数可选);
x为线性方程组的解;
n为求出所需精度的解实际的迭代步数。
里查森迭代法的MATLAB程序代码如下:
function [x,n] = richason(A,b,x0,eps,M)
%采用里查森迭代法求线性方程组Ax=b的解
%线性方程组的系数矩阵:A
%线性方程组的常数向量:b
%迭代初始向量:x0
%解的精度控制:eps
%迭代步数控制:M
%线性方程组的解:x
%求出所需精度的解实际的迭代步数:n
if(nargin==3)
eps=1.0e-6; %eps表示迭代精度
M=200; %M表示迭代步数的限制值
elseif(nargin==4)
M=200;
end
I=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;
end
end
实例:用里查森迭代法求以下线性方程组,其中初始值取为[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,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.0000
1.0000
经检验,计算结果正确。
程序运算截图如下:
流程图:
、源程序
例题流程图
解:
(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)算法说明
同上题,由已给方程可知,为拉普拉斯方程,在PDETOOL中可看成椭圆型方程。
(2)操作流程
设置坐标限
绘制区域图
设置边界条件
u|x=0=y(3-y)
u|y=0=sin(π/4*x)
设置
您可能关注的文档
- MATLAB动画演示程序汇总..doc
- MATLAB去噪音处理..doc
- MATLAB参数估计与假设检验..doc
- matlab命令..doc
- MATLAB图像处理基础..doc
- Matlab图形的编辑(含绘图修改的奥义..docx
- MATLAB在数学中的应用..doc
- EoC设备测试规范..doc
- MATLAB在电磁学中的应用..docx
- MATLAB在实际问题中的分析与应用..doc
- 2024年中国钽材市场调查研究报告.docx
- 2024年中国不锈钢清洗车市场调查研究报告.docx
- 2024年中国分类垃圾箱市场调查研究报告.docx
- 2024年中国水气电磁阀市场调查研究报告.docx
- 2024年中国绿藻片市场调查研究报告.docx
- 2010-2023历年初中毕业升学考试(青海西宁卷)数学(带解析).docx
- 2010-2023历年福建厦门高一下学期质量检测地理卷.docx
- 2010-2023历年初中数学单元提优测试卷公式法(带解析).docx
- 2010-2023历年初中毕业升学考试(山东德州卷)化学(带解析).docx
- 2010-2023历年初中毕业升学考试(四川省泸州卷)化学(带解析).docx
最近下载
- My Life in China and America [容闳自传:我在中国和美国的生活].pdf
- 常熟银行研究报告:回归小微初心,乘风乡村振兴.doc VIP
- 浙商证券-宠物行业从乖宝宠物看宠物赛道:陪伴需求催化宠物新蓝海,食品赛道频现龙头.pdf
- ctgd-sop v5风口安装作业指导书.pdf VIP
- 消化道出血有关试题附有答案.docx VIP
- 湘教版美术《家乡的古建筑》说课稿.doc
- 上海地区不同垂直骨面型成人临床冠中心高度的比较研究.pdf VIP
- 2023年 AMC 10B 数学竞赛(原卷+答案).doc VIP
- 世界贸易组织.ppt VIP
- 2023年 AMC 10A 数学竞赛(原卷+答案).doc
文档评论(0)