MATLAB在数学中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB在微分方程中的应用
12级通信一班张丹丹1202301039
摘要:MATLAB的强大功能也是大学的数学教育中是相当重视其学习重要性的原因之一。它能将运用者从繁杂的计算束缚中解救出来,把更多的精神投入到数学的基本含义的理解上,因此,它逐渐成为大学生们课程中的规范和重要工具。MATLAB在信息论、高等数学与代数中作图和教学中的应用,从而充分体现了MATLAB功能的强大,特别是绘图功能,矩阵运算,数值分析运算。借助MATLAB的运用,使学习者对数学的欣赏得以向群众普及,这对数学文明的传递具有重要意义。以下主要从数学中的解微分方程及其应用的角度来思考。
关键字:MATLAB介绍解微分方程绘图应用
一、MATLAB
(一)MATLAB简介
MATLAB(Matrix Laboratory,矩阵实验室)是MathWorks公司开发的,目前国际上最流行,应用最广泛的科学与工程计算软件。它集成二维和三维图形功能,已完成相应数值可视化的工作,并且提供了一种交互式的高级编程语言-M语言,利用M语言可以通过编写脚本或则函数文件实现用户自己的算法。MATLAB是目前发展最快的软件之一,其在多线程计算、视频图像算法等方面更加突出,能够从Symbolic math Toolbox 中生成Simscape语言方程,SimulMATLABink 中增加了Simulink PLC Coder。
(二)MATLAB的功能与特点
MATLAB集科学与工程计算机、图形可视化、多媒体处理于一体,并提供了Windows 图形界面设计方法。MATLAB语言有以下特点:
起点高
2.人机界面友好,编程效率高
3.强大而智能化的作图功能
4.智能化程度高
5.Simulink动态仿真功能
二.Matlab求解微分方程
求微分方程(组)解析解的命令
应用dsolve函数求解方程(‘方程1’,‘方程2’,…,‘方程n’,‘初始条件’,‘自变量’)
例1 求du/dt=1+u^2的通解.
输入命令:dsolve('Du=1+u^2','t')
结果:u = tg(t+c1)
例2.求微分方程的特解. x’(t)=2x-3y+3z
y’(y)=4x-5y+3z
Z’(t)=4x-4y+2z
输入命令:
[x,y,z]=dsolve('Dx=2*x-3*y+3*z',
'Dy=4*x-5*y+3*z','Dz=4*x-4*y+2*z', 't');
x=simple(x) % 将x化简
y=simple(y)
z=simple(z)
结果为:x = (c1-c2+c3+c2e -3t-c3e-3t)e2t
y = -c1e-4t+c2e-4t+c2e-3t-c3e-3t+c1-c2+c3)e2t
z = (-c1e-4t+c2e-4t+c1-c2+c3)e2t
三.应用MATLAB解微积分方程及其图形绘制
在MATLAB中,使用函数可以把一个大的任务分解成比较小的任务,使得程序模块化,每个函数完成的定的功能,通过函数的调用完成整个过程。微积分课程中引入matlab软件,并力争与教学的相关内容进行有机结合。使malab作为一个重要工具,既能在数学课程的某些内容处理上发挥作用,也能为其它后续基础课程如《线性代数》《概率论与数理统计》《复变函数》等中涉及的微积分问题与matlab相结合。
1.应用function函数来声明调用:
以此来调用是M函数文件中必须有的,而且函数名应该与文件名一致。而且应用相关的流程控制结构和表达式实现。
2.这里主要应用ode23,ode45求解非刚性标准形式的一阶常微分方程组的初值问题解的MATLAB常用程序.在解含n个未知数的方程组时,x0和x均为n维向量,M文件中的待解方程组应以x的分量形式写出.使用MATLAB软件求数值解时,高阶微分方程必须等价地变换成一阶微分方程组.
例3 解微分方程y1’=y2y3
Y2’=-y1y3
Y3’=-0.5y1y2
Y1(0)=0,y(0)=1,y(3)=1
解1)解题程序如下:
function dy=rigid(t,y)
dy=zeros(3,1);
dy(1)=y(2)*y(3);
dy(2)=-y(1)*y(3);
dy(3)=-0.51*y(1)*y(2);
2)取t0=0,tf=12,输入命令:
[T,Y]=ode45('rigid',[0 12],[0 1 1]);
plot(T,Y(:,1),'-',T,Y(:,2),'*',T,Y(:,3),'+')
3)结果如图
(图中,y1的图形为实线,y2的图形为“*”线,y3的图形为“+”线)
例4 dx^2/dt^2-1000(1-x^2)dx/dt-x=0
X(0)=2,x’(0)=0
1.解题程序如下:
function dy=vdp1000(t,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=1000*(1-y(1)^2)*y(2)-y(1);
2.取t0=0,tf=3000,输入命令:
[T,Y]=ode15s('vdp1000',[0 3000],[2 0]);
plot(T,Y(:,1),'-')
3.结果如图
三.MATLAB在实例中的应用
例1、导弹追踪问题
设位于坐标原点的甲舰向位于x轴上点A(1, 0)处的乙舰发射导弹,导弹头始终对准乙舰.如