基于MATLAB在数理方程的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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所示。