数学建模与数学实验 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函数可以清除内存中的所有变量。
matalab 做建模的知识点MATLAB 做建模什么是 MATLAB?MATLAB 是一种高级的计算机语言和环境,主要用于数值计算、数据分析和可视化。
它提供了强大的工具和函数库,使得科学研究、工程设计和数据分析变得更加简单和高效。
建模在 MATLAB 中的应用在 MATLAB 中,建模是指使用数学模型和计算方法来描述和解决实际问题的过程。
建模可以应用于各个领域,如工程、物理、生物、金融等,用于预测、优化、控制和分析。
建模的基本步骤1.问题分析:明确建模的目标和问题,确定需要研究的系统或过程。
2.模型假设:根据问题的特点和约束,提出合理的模型假设,并确定所需的输入和输出变量。
3.建立数学模型:将问题转化为数学方程或算法,描述系统的行为和相互关系。
4.数据采集:收集与问题相关的实验数据或实际观测数据。
5.参数估计:根据采集到的数据,估计模型中未知的参数值。
6.模型验证:使用采集到的数据和现有理论知识,验证模型的准确性和可靠性。
7.模型求解:使用 MATLAB 的计算工具和方法,求解模型并获得结果。
8.模型分析:根据模型求解结果,对系统的性能和特性进行分析和评估。
9.模型优化:根据分析结果和问题要求,对模型进行调整和改进,以提高解决效果。
常用的 MATLAB 函数和工具箱1.数值计算函数:MATLAB 提供了丰富的数值计算函数,如求解方程、优化算法、插值和拟合方法等。
2.统计分析工具箱:该工具箱用于进行数据分析和统计建模,包括假设检验、回归分析、方差分析等。
3.控制系统工具箱:该工具箱用于分析和设计控制系统,包括传递函数、稳定性分析、根轨迹设计等。
4.优化工具箱:该工具箱用于求解优化问题,包括线性规划、非线性规划、整数规划等。
5.图像处理工具箱:该工具箱用于进行图像处理和分析,包括图像滤波、边缘检测、图像变换等。
6.神经网络工具箱:该工具箱用于构建和训练神经网络模型,包括前向传播、反向传播、权值调整等。
实验名称:第二章MATLAB入门
一、实验内容与要求
内容:用Matlab语言编写程序进行矩阵和向量的各种常规运算;
学会画出任意函数的图像;
用不同绘图语句绘制曲线、曲面以及坐标上的标注。
要求:熟悉并基本掌握Matlab编程的基本语法,学会用Matlab进行矩阵、向量运算的编程,学会制作各种图形,处理简单数学问
题和图形变换。
二、实验软件
MATLAB6.5
三、实验内容
1、用plot,fplot绘制函数y=cos(tan(πx))图形
程序:
fplot('cos(tan(pi*x))',[0,1],1e-4)
使用plot绘图:
x=0:1e-4:1
plot(x,cos(tan(pi*x)))
实验结果:
2、用ezplot绘制函数e xy-sin(x+y)=0在[-3,3]上的图形。
程序:
ezplot('exp(x*y)-sin(x+y)',[-3,3,-3,3])
实验结果:
四、实验体会。
wilyes11收集 博客(与学习无关):/u/1810231802MATLAB 基本操作、编程一、 实验目的及意义1.熟悉MATLAB 软件的用户环境; 2.了解MATLAB 软件的一般命令; 3.掌握MATLAB 向量操作与矩阵运算函数; 4.掌握MATLAB 软件的基本符号运算命令; 5. 掌握MATLAB 语言编程的循环、条件和选择结构。
二、实验内容1. MATLAB 软件的向量操作及矩阵运算练习;2. 使用MATLAB 软件进行符号运算练习;3. 用MA TLAB 语言编写命令M-文件和函数M-文件;三、实验步骤1.在D 盘建立一个自己的文件夹; 2.开启软件平台——MATLAB ,将你建立的文件夹加入到MA TLAB 的搜索路径中。
3.利用帮助了解函数max, min, sum, mean, sort, length ,rand, size 和diag 的功能和用法。
4.开启MATLAB 编辑窗口,键入你编写的M 文件(命令文件或函数文件); 5.保存文件(注意将文件存入你自己的文件夹)并运行; 6.若出现错误,修改、运行直到输出正确结果; 7. 写出实验报告,并浅谈学习心得体会。
四、实验要求与任务根据实验内容和步骤,完成以下具体实验,按要求写出实验报告。
1.设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E,R,O,S 分别为单位阵、随机阵、零阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
2.某零售店有9种商品的单件进价(元)、售价(元)及一周的销量如下表,问哪种商品的利润最大,哪种商品的利润最小;按收入由小到大,列出所有销量 568 1205 753 580 395 2104 1538 810 6943.建立一个命令M-文件:求所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如,153是一个水仙花数,因为。
数学实验与数学建模MATLAB实验报告78数学实验与数学建模实验报告学院:信息科学与⼯程学院专业班级:姓名:学号:习题七1.求下列微分⽅程的通解(1)x y x y dx dy -+=(2)yxx y y +=cos ' (3)(xcosy+sin2y )y`=1 (4)x ey y y x2cos 3=-'+''(5) x y e y y x 2cos 3'''=-+解:(1)dsolve('Dy=(y+x)/(y-x)','x')(2)dsolve('Dy=cos(y/x)+x/y','x')(3)dsolve('(x*cos(y)+sin(2*y))*Dy=1','x')(4)dsolve('D2y+3*Dy-y=exp(x)*cos(2*x)','x')(5)dsolve('D2y+3*Dy-y=exp(x*cos(2*x))','x')ans=exp(1/2*(-3+13^(1/2))*x)*C2+exp(-1/2*(3+13^(1/2))*x)*C1-1/13*13^(1/2)*(-Int(exp (1/2*x*(3-13^(1/2)+2*cos(2*x))),x)*exp(x*13^(1/2))+Int(exp(1/2*x*(3+13^(1/2)+2*cos(2*x))),x))*exp(-1/2*(3+13^(1/2))*x) 2.求下列初值问题的解(1)==-++-+=10)2(212222y x y y x x dx dy xy xy (2)????===++==V dt dx x x a t t x dt dx n dt x d 000222,02解:(1) dsolve('x^2+2*x*y-y^2+(y^2+2*x*y-x^2)*Dy=0','y(1)=1','x')(2) dsolve('D2x+2*n*Dx+a^2*x=0','x(0)=x0','Dx(0)=V0','t')ans =1/2*(n*x0+(n^2-a^2)^(1/2)*x0+V0)/(n^2-a^2)^(1/2)*exp((-n+(n^2-a^2)^(1/2))*t )-1/2*(n*x0-(n^2-a^2)^(1/2)*x0+V0)/(n^2-a^2)^(1/2)*exp((-n-(n^2-a^2)^(1/2))*t)3.求微分⽅程组=--=++t te y x dtdy e y x dtdx 235的通解.解:[x,y]=dsolve('Dx+5*x+y=exp(t)','Dy-x-3*y=exp(2*t)','t')x =-4*exp((-1+15^(1/2))*t)*C2+exp((-1+15^(1/2))*t)*C2*15^(1/2)-4*exp(-(1+15^(1/2))*t)*C1-exp(-(1+15^(1/2))*t)*C1*15^(1/2)+2/11*exp(t)+1/6*exp(2*t) y =exp((-1+15^(1/2))*t)*C2+exp(-(1+15^(1/2))*t)*C1-1/11*exp(t)-7/6*exp(2*t) 4.求下列初值问题的解(1)⽅程组+=+=11x dtdy y dt dx满⾜=-=0)0(2)0(y x 的特解。
第1章MATLAB数学实验与建模基础知识首先介绍三个概念:数学实验、数学建模、MATLAB软件。
数学实验是以问题为载体,应用数学知识建立数学模型,以计算机为手段,以数学软件为工具,以学生为主体,通过实验解决实际问题。
数学实验是数学模型方法的初步实践,而数学模型方法是用数学模型解决实际问题的一般数学方法,它是根据实际问题的特点和要求,做出合理的假设,使问题简化,并进行抽象概括建立数学模型,然后研究求解所建立的数学模型的方法与算法,利用数学软件求解数学模型,最后将所得的结果运用到实践中。
当需要从定量的角度分析和研究一个实际问题时,人们就要在深入调查研究、了解对象信息、作出简化假设、分析内在规律等工作的基础上,用数学的符号和语言,把它表述为数学式子,也就是数学模型,然后用通过计算得到的模型结果来解释实际问题,并接受实际的检验。
这个建立数学模型的全过程就称为数学建模。
MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、FORTRAN语言)的编辑模式,代表了当今国际科学计算软件的先进水平。
1.1MATLAB概述MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。
在数学类科技应用软件中,MA TLAB在数值计算方面首屈一指,它可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解决问题要比用C、FORTRAN等语言完成相同的事情简捷得多,并且MA TLAB也吸收了Maple等软件的优点,使MATLAB成为一个强大的数学软件。
第二十章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。