matlab程序设计实践.docx

上传人:b****3 文档编号:3499209 上传时间:2022-11-23 格式:DOCX 页数:14 大小:385.92KB
下载 相关 举报
matlab程序设计实践.docx_第1页
第1页 / 共14页
matlab程序设计实践.docx_第2页
第2页 / 共14页
matlab程序设计实践.docx_第3页
第3页 / 共14页
matlab程序设计实践.docx_第4页
第4页 / 共14页
matlab程序设计实践.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

matlab程序设计实践.docx

《matlab程序设计实践.docx》由会员分享,可在线阅读,更多相关《matlab程序设计实践.docx(14页珍藏版)》请在冰豆网上搜索。

matlab程序设计实践.docx

matlab程序设计实践

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

实例:

用里查森迭代法求以下线性方程组,其中初始值取为[000]

输入:

>>A=[1.0170-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.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,然后根据给出的边界约束条件,在微分方程工具箱中选择所需要的条件,

1Dirichlet条件

2Neumann条件

其中n是

上的单位外法矢量,g,q,h和r是定义在

上的函数。

(题目中Γ1与Γ2分别代表x+y=2与x-y=2这两条边界线)

(2)操作流程

设置坐标限

选择Options栏中AxesLimits选项,输入坐标范围

绘制区域图

点击绘制多边形键画出要求的区域图

设置边界条件

选择Boundary中的BoundaryMode,设置为边界模式;双击各条边界线,由方程组中已知边界条件设定

设置方程参数

点击,将已知方程对照标准偏微分方程形式,知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)

 

设置方程参数

划分网格

 

绘制特征值对应的函数图形

二维图形:

三维图形:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1