数学建模与数学实验 Matlab基础
- 格式:docx
- 大小:466.21 KB
- 文档页数:55
实验二: 微分方程模型Matlab 求解与分析一、实验目的[1] 掌握解析、数值解法,并学会用图形观察解的形态和进行解的定性分析; [2] 熟悉MATLAB 软件关于微分方程求解的各种命令;[3] 通过范例学习建立微分方程方面的数学模型以及求解全过程; [4] 熟悉离散 Logistic 模型的求解与混沌的产生过程。
二、实验原理1. 微分方程模型与MATLAB 求解解析解用MATLAB 命令dsolve(‘eqn1’,’eqn2’, ...) 求常微分方程(组)的解析解。
其中‘eqni'表示第i 个微分方程,Dny 表示y 的n 阶导数,默认的自变量为t 。
(1) 微分方程 例1 求解一阶微分方程 21y dxdy+= (1) 求通解 输入:dsolve('Dy=1+y^2')输出:ans =tan(t+C1)(2)求特解 输入:dsolve('Dy=1+y^2','y(0)=1','x')指定初值为1,自变量为x 输出:ans =tan(x+1/4*pi)例2 求解二阶微分方程 221()04(/2)2(/2)2/x y xy x y y y πππ'''++-=='=-原方程两边都除以2x ,得211(1)04y y y x x'''++-= 输入:dsolve('D2y+(1/x)*Dy+(1-1/4/x^2)*y=0','y(pi/2)=2,Dy(pi/2)=-2/pi','x')ans =- (exp(x*i)*(pi/2)^(1/2)*i)/x^(1/2) +(exp(x*i)*exp(-x*2*i)*(pi/2)^(3/2)*2*i)/(pi*x^(1/2))试试能不用用simplify 函数化简 输入: simplify(ans)ans =2^(1/2)*pi^(1/2)/x^(1/2)*sin(x) (2)微分方程组例3 求解 d f /d x =3f +4g ; d g /d x =-4f +3g 。
第六章数学实验与数学建模学习目标1.掌握利用Matlab软件进行了相关的数学运算的方法.2.以软件辅助来完成数学实验.3.了解数学建模思想方法,能够对一些简单问题建立数学模型求解分析.教学要求析、矩阵运算、信号处理、图形显示和建模仿真功能. Matlab是“Matrix Laboratory”的缩写,意思是“矩阵实验室”,其强大的数据处理能力和丰富的工具箱使它的编程极为简单,因此,它成为科学家和工程技术人员解决实际问题的首选计算工具软件。
本章的第一节主要介绍Matlab软件的简单使用方法,从第二节到第六节在讲解Matlab 用于解决高等数学和线性代数中的相关计算的函数基础上, 通过一些简单的数学实验例题,让学生体会如何用Matlab辅助解决数学问题. 最后,通过一些与线性代数相关的数学建模实例,让学生掌握数学建模的简单方法,学会利用Matlab软件辅助解决实际问题,以培养学生良好的数学意识和数学素质.6.1 Matlab环境及使用方法6.1.1 Matlab窗口管理Matlab启动后显示三个窗口,如图6.1所示。
左上窗口为工作区间窗口,显示用户定义的变量及其属性类型及变量长度。
工作区间窗口也可显示为当前目录窗口,显示Matlab 所使用的当前目录及该目录下的全部文件名。
左下窗口为历史窗口,显示每个工作周期(指Matlab启动至退出的工作时间间隔)在命令窗口输入的全部命令,这些命令还可重新获取应用。
右侧窗口为Matlab命令窗口,可在里面输入相关运算命令,完成相应计算。
三个窗口中的记录除非通过Edit菜单下的清除操作,否则将一直保存。
Matlab运行期间(即程序退出之前),除非调用Clear函数,否则Matlab会在内存中保存全部变量值,包括命令输入的变量以及执行程序文件所引入的变量。
清除工作空间变量值也可以通过Edit下拉菜单中的Clear Workspace命令实现。
Clear函数可以清除内存中的所有变量。
第二十章MATLAB基础20.1 MA TLAB基本知识MA TLAB是一种交互式的以矩阵为基础的系统计算平台,它用于科学和工程的计算与可视化。
它的优点在于快速开发计算方法,而不在于计算速度。
20.1.1 MA TLAB基本使用一、MATLAB启动(1)方法一当MA TLAB安装到硬盘上以后,一般会在Windows桌面上自动生成MA TLAB程序图标。
在这种情况下,只要直接点击那图标即可启动MA TLAB,打开如图1.1的MA TLAB操作桌面(Desktop)。
注意:本书作者建议用户优先采用启动“方法一”。
(2)方法二假如Windows桌面上没有MA TLAB图标,那么点击matlab\ 文件夹下的快捷方式图标。
图20.1-1 Desktop操作桌面的默认外貌二、Matlab菜单的含义MA TLAB R2010a版的Desktop操作桌面,是一个高度集成的MA TLAB工作界面。
其默认形式,如图1.1-1所示。
该桌面的上层铺放着三个最常用的界面:指令窗(Command Window)、当前目录(CurrentDirectory)浏览器、MA TLAB工作内存空间(Workspace)浏览器、历史指令(Command History)窗。
●命令窗口该窗是进行各种MA TLAB操作的最主要窗口。
在该窗内,可键入各种送给MA TLAB运作的指令、函数、表达式;显示除图形外的所有运算结果;运行错误时,给出相关的出错提示。
●当前目录浏览器在该浏览器中,展示着子目录、M文件、MA T文件和MDL文件等。
对该界面上的M文件,可直接进行复制、编辑和运行;界面上的MA T数据文件,可直接送入MA TLAB工作内存。
此外,对该界面上的子目录,可进行Windows平台的各种标准操作。
此外,在当前目录浏览器正下方,还有一个“文件概况窗”。
该窗显示所选文件的概况信息。
比如该窗会展示:M函数文件的H1行内容,最基本的函数格式;所包含的内嵌函数和其它子函数。
●工作空间浏览器该浏览器默认地位于当前目录浏览器的后台。
该窗口罗列出MA TLAB工作空间中所有的变量名、大小、字节数;在该窗中,可对变量进行观察、图示、编辑、提取和保存。
●历史指令窗该窗记录已经运作过的指令、函数、表达式,及它们运行的日期、时间。
该窗中的所有指令、文字都允许复制、重运行及用于产生M文件。
●捷径(Start)键引出通往本MA TLAB所包含的各种组件、模块库、图形用户界面、帮助分类目录、演示算例等的捷径,以及向用户提供自建快捷操作的环境。
三、帮助的使用读者接触、学习MA TLAB的起因可能不同,借助MA TLAB所想解决的问题也可能不同,从而会产生不同的求助需求。
如对于初学者,最急于知道的是:MA TLAB的基本用法。
又如MA TLAB老用户很想知道的是:MA TLAB新版本有什么新特点、新功能。
再如对科研工作者来说,面对不断变化的实际问题,常常产生两类困惑:知道具体指令,但不知道该怎么用;或想解某个具体问题,不知道MA TLAB有哪些指令可用。
MA TLAB作为一个优秀的科学计算软件,其帮助系统考虑了不同用户的不同需求,构成了一个比较完备的帮助体系。
并且,这种帮助体系随MA TLAB版本的重大升级,其完备性和友善性都会有较大的进步。
不管以前是否使用过MA TLAB,任何用户都应尽快了解MA TLAB的帮助系统,掌握各种获取帮助信息的方法。
只有这样,用户才可能较好地运用MA TLAB资源,快捷、可靠、有效地独立解决自己面临的各种问题。
20.1.2 MA TLAB变量与函数一、MATLAB中变量的命名规则:(1)变量区分字母的大小写;(2)名字不能超过19个字符,第19个字符后的字符被忽略;(3)变量必须以字母开头,之后可以是任意字母、数字或者下滑线;(4)变量中不能含有标点符号。
表20.2-1 MATLAB为数学常数预定义的变量名二、数学元算符号及标点符号(1)数学的运算符号标点符号(1)MA TLAB的命令后的逗号(或无标点符号)显示命令的结果;分号不显示命令的结果;(2)“%”:注释文字的标志;(3)“…”;续行标志。
三、数据的输出格式控制format四、数学函数20.1.3 MA TLAB数组与矩阵MA TLAB以矩阵为数据操作的基本单位。
一、数组数组实际上就是向量,下标从1开始变化。
例1:>>a=1:5a=1 2 3 4 5例2:>>a=1:2:10a= 1 3 5 7 9例3:>>a=linspace(0,1,5)a=0 0.2500 0.5000 0.7500 1.0000>>b=10.^ab=1.0000 1.7783 3.1623 5.6234 10.0000 >>c=logspace(0,1,5)c=1.0000 1.7783 3.1623 5.6234 10.0000 2数组元素的访问例4:>>d=a([1 2 3 5])d=0 0.2500 0.5000 1.00003、行向量与列向量在创建数组时,如果元素以空格或逗号分隔,创建的就是行向量,如果分号分隔,创建的就是列向量。
例5>>e=[1,3,5,7,9]e=1 3 5 7 9>>f=[1;3;5;7]f= 1357二、矩阵标量可以看作1×1的矩阵,行向量可以看作是只有一行的矩阵,列向量可以看作是只有一列的矩阵。
1、直接法建立矩阵(1)用中括号起来表示;(2)同一行内用空格或逗号隔开;(3)不同行使用分号或者回车分开。
注意:输入矩阵时,严格要求所有的行有相同的列。
例1:>>A=[1 2 3;4 5 6;7 8 9]A= 1 2 34 5 67 8 92、特殊的矩阵建立例6>> R=rand(3,4)0.9501 0.4860 0.4565 0.44470.2311 0.8913 0.0185 0.61540.6068 0.7621 0.8214 0.7919例7产生一个在区间[10, 20]内均匀分布的4阶随机矩阵>> a=10;b=20;>> x=a+(b-a)*rand(4)x =19.2181 19.3547 10.5789 11.388917.3821 19.1690 13.5287 12.027711.7627 14.1027 18.1317 11.987214.0571 18.9365 10.0986 16.0379例8产生均值为0.6,方差为0.1的4阶矩阵>> mu=0.6; sigma=0.1;>> x=mu+sqrt(sigma)*randn(4)x =0.8311 0.7799 0.1335 1.05650.7827 0.5192 0.5260 0.48900.6127 0.4806 0.6375 0.79710.8141 0.5064 0.6996 0.85273、矩阵中元素的操作三、矩阵的运算1、矩阵的转置和共轭转置(1)对实矩阵,转置使用符号“’”;(2)对复矩阵,转置使用符号“.’”,共轭转置用“’”。
例1:>>c=[1+I,1;2-i,2],;>>d=c’%共轭转置d=1.0000-1.0000i2.0000+i1.00002.0000>>e=c.’%转置1.0000+1.0000i2.0000-1.0000i1.00002.00002、运算A+B、A-B、A.*B>>A=[1, 1, 1; 1, 2, 3; 1, 3, 6];>>B=[8, 1, 6; 3, 5, 7; 4, 9, 2];>>A+B=A+B>>A-B=A-B结果显示:A+B=9 2 74 7 105 12 8A-B=-7 0 -5-2 -3 -4-3 -6 44、运算A*B>>X= [2 3 4 5;1 2 2 1];>>Y=[0 1 1;1 1 0;0 0 1;1 0 0];Z=X*Y结果显示为:Z=8 5 63 3 35、矩阵除法例:a=[1 2 3; 4 2 6; 7 4 9]b=[4; 1; 2];x=a\b则显示:x=-1.50002.00000.5000如果a为非奇异矩阵,则a\b和b/a可通过a的逆矩阵与b阵得到:a\b = inv(a)*bb/a = b*inv(a)6、det(A):方阵的行列式>> A=[1 2 3;4 5 6;7 8 9]A =1 2 34 5 67 8 9>> D=det(A)D =7、inv(A):方阵的逆例:求矩阵⎪⎪⎪⎭⎫⎝⎛=343122321A的逆矩阵方法一>>A=[1 2 3; 2 2 1; 3 4 3];>>Y=inv(A)或Y=A^(-1)则结果显示为Y =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.0000方法二:由增广矩阵⎪⎪⎪⎭⎫⎝⎛=134311221321B进行初等行变换>>B=[1, 2, 3, 1, 0, 0; 2, 2, 1, 0, 1, 0; 3, 4, 3, 0, 0, 1;>>C=rref(B) %化行最简形>>X=C(:, 4:6) %取矩阵C中的A^(-1)部分显示结果如下:C =1.0000 0 0 1.0000 3.0000 -2.00000 1.0000 0 -1.5000 -3.0000 2.50000 0 1.0000 1.0000 1.0000 -1.0000X =1.0000 3.0000 -2.0000-1.5000 -3.0000 2.50001.0000 1.0000 -1.0000例>> A=[2 1 -1;2 1 2;1 -1 1];>> format rat %用有理格式输出>> D=inv(A)D =1/3 0 1/30 1/3 -2/3-1/3 1/3 08、rank(A):矩阵A的秩9、orth(A):将矩阵A的列向量组正交化10、trace(A):方阵A的迹函数trace格式b=trace (A) %返回矩阵A的迹,即A的对角线元素之和。
11、[V,D]=eig[A]:求方阵A的特征值、特征向量,其中V为特征向量组成的方阵,D为特征值组成的对角阵。
例:>>A=[1 2 0;2 5 -1;4 10 -1];>>eig(A)%求A的特征值ans= 3.73210.26791.0000>>[x,y]=eig(A)x=0.2440 -0.9107 0.44720.333 0.3333 0.0000-0.9107 -0.2440 0.8944y= %Y特征值对角阵3.7321 0 00 0.2679 00 0 1.000020.2 MA TLAB编程20.2.1 M文件用MA TLAB语言编写的程序,称为M文件一、文件建立方法1、从MA TLAB主窗口的File菜单中选择New菜单项,在选择M-file命令;或者在MA TLAB命令窗口输入命令edit;或者单击MA TLAB主窗口工具栏的New M-file命令的按钮,屏幕将出现MA TLAB的文本编辑器窗口;2、在文本编辑窗口中输入程序内容;3、点击File->Save,存盘,扩展名为*.m。