基于MATLAB在数理方程的应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《MATLAB语言》课程论文

基于MATLAB在数理方程的应用

姓名:廖威

学号:12010245212

专业:通信工程

班级:通信班

指导老师:汤全武

学院:物理电气信息学院

完成日期:2011.12.12

基于MATLAB在数理方程的应用

(廖威 12010245212 2010级通信班)

[摘要] MATLAB 是近几年传播最快、影响最大的数学类应用软件。应用MATLAB 求解《数学物理方法》中的一些题目,使原来繁琐的手工计算变得简便,而且可将数理方程的解及一些特殊函数以图形的形式显示出来,形象、直观,便于理解。数理方程当中有许多的复杂的数值及数学符号的计算《数学物理方法》是许多理工专业的必修课和重要基础课,也是一门公认的难度大的课程。因课程内容抽象,数学推导繁琐,学生学习起来感到非常枯燥。MATLAB 是高性能的数值计算型数学类科技应用软件,具有优秀的数值计算功能和强大的数据可视化能力。本文以一些典型习题为例,介绍了MATLAB 在复变函数、积分变换、数理方程和特殊函数等方面的应用。

[关键词] MATLAB 积分变换数学物理方程特殊函数图形绘制

一、问题的提出

MATLAB是近几年传播最快、影响最大的数学类应用软件。应用MATLAB求解《数学物理方法》中的一些题目,使原来繁琐的手工计算变得简便,而且可将数理方程的解及一些特殊函数以图形的形式显示出来,形象、直观,便于理解。而且MATLAB强大的科学运算、灵活的程序设计、便捷的与其他程序和语言接口的功能,显示出其很强的优越性……

二、MATLAB在解偏微分方程中的应用

应用MATLAB 求解数学物理方程,可通过编程或直接利用偏微分方程工具箱求解,直接利用偏微分方程工具箱更为简单、方便。在数理方程课上我们学习解矩形域方程的问题:

例1:在矩形域-0.5

(1)启动偏微分方程求解界面。

(2)在MATLAB 命令窗口中键入pderect ([-0.5 0.5 -0.5 0.5]), 选择Boundary→Remove All SubdomainBorders 菜单项,得出偏微分方程的求解区域。

(3)单击偏微分方程界面工具栏中的PDE 图标,选择其中的Parabolic 选项,将给定的偏微分方程的参数输入到该对话框中。

(4)边界条件由Boundary 菜单下的Specify Boundary conditions 确定,

输入边界条件h=1,r=0。

(5)单击工具栏等号按钮,得到偏微分的解,单击图形设置按钮,得出如图1所示的结果。

MATLAB程序如下:

clear all %泊松方程的解

pderect([-0.5 0.5 -0.5 0.5 ]); %微分方程的求解区域

h1=1,r=0; %初始条件

运行结果如图1所示。

图1 泊松方程的解

通过以上程序对求解方程使其为可视化,加深对问题的了解。现在我们来解决另一个问题。

三、MATLAB在解特殊方程中的应用:

例2.画出连带勒让德多项式(2 阶)的曲线分布,

MATLAB语句为:

x=-1:0.01:1 %求解范围

plot(x,LEGENDRE(2,x)) %sunlink挂函数语句,输出图形运行结果如图2所示。

图2 连带勒让德多项式(2 阶)的曲线分布

例3:画出第一类贝塞尔函数J15 (x)的曲线分布。

MATLAB 语句为:

x=0:0.01:50 %求解范围

plot(x,BESSELJ(15,x)) %函数语句,输出图形

运行结果如图3所示。

图3 贝塞尔函数(15 阶)J15 (x )的曲线分布

以上只是我们用MATLAB 解一些经典的数理方程,MATLAB 在显示其强大的绘图和解方程上的优势。下面我们来看MATLAB 在解实际应用方程的运用,先来看在解齐次波动方程。

四、作出有界弦振动问题解析解的图形分布:

02=-xx tt u a u l x ≤≤0

0,00====l x x u u

(1)

)(),(00x u x u t t

t φϕ==== 解析解:u=l

x n l at n l at n n n n πππsin )sin cos

(1B +A ∑∞=(取系数为1) (2) 例4:n=1本振解随时间变化的图形分布。

clear

a=1;l=1;x=0:0.05:1;t=0:0.001:3;u=0; n=1; %函数参数

[X,T]=meshgrid(x,t); %函数变量

u=(cos(n*pi*a*T/l)+sin(n*pi*a*T/l)).*sin(n*pi*X/l) %函数定义式

figure(1)

axis([0 1 -0.05 0.05]) %图形取点,x 分布 mesh(X,T,u)

title('n=1本振随时分布的透视图') %图像名

xlabel('x') %图像坐标轴'x'

ylabel('t') %图像坐标轴'y'

zlabel('u') %图像坐标轴'u'

运行结果如图4所示。

'

图4 n=1本振解随时间变化的图形

例5:n=2本振解随时间变化的图形分布。

clear

a=1;l=1;x=0:0.05:1;t=0:0.001:3;u=0; n=2; %函数参数

[X,T]=meshgrid(x,t); %函数变量

u=(cos(n*pi*a*T/l)+sin(n*pi*a*T/l)).*sin(n*pi*X/l) %函数定义式figure(1)

axis([0 1 -0.05 0.05]) %图形取点,x分布mesh(X,T,u)

title('n=2本振随时分布的透视图')

xlabel('x') %图像坐标轴'x' ylabel('t') %图像坐标轴'y' zlabel('u') %图像坐标轴'u'

运行结果如图5所示。

相关文档
最新文档