您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 理学 > 数学建模算法与应用课件(第二版)附录A--Matlab软件入门
基础部数学教研室附录AMatlab软件入门数学建模算法与应用基础部数学教研室3/86数学建模1.helphelp%帮助总揽helpelfun%关于基本函数的帮助信息helpexp%指数函数exp的详细信息2.lookfor指令当要查找具有某种功能但又不知道准确名字的指令时,help的能力就不够了,lookfor可以根据用户提供的完整或不完整的关键词,去搜索出一组与之相关的指令。lookforintegral%查找有关积分的指令lookforfourier%查找能进行傅里叶变换的指令A.1Matlab帮助的使用基础部数学教研室4/86数学建模3.超文本格式的帮助文件在Matlab中,关于一个函数的帮助信息可以用doc命令以超文本的方式给出,如docdocdocdoceig%eig求矩阵的特征值和特征向量4.pdf帮助文件可从MathWorks网站上下载有关的pdf帮助文件。基础部数学教研室5/86数学建模1.简单矩阵的输入(1)要直接输入矩阵时,矩阵一行中的元素用空格或逗号分隔;矩阵行与行之间用分号“;”隔离,整个矩阵放在方括号“[]”里。A=[1,2,3;4,5,6;7,8,9]说明:指令执行后,矩阵A被保存在Matlab的工作间中,以备后用。如果用户不用clear指令清除它,或对它进行重新赋值,那么该矩阵会一直保存在工作间中,直到本次指令窗关闭为止。A.2数据的输入基础部数学教研室6/86数学建模(2)矩阵的分行输入A=[1,2,34,5,67,8,9]基础部数学教研室7/86数学建模2.特殊变量ans用于结果的缺省变量名pi圆周率eps计算机的最小数flops浮点运算次数inf无穷大如1/0NaN不定量如0/0i(j)i=j=1nargin所用函数的输入变量数目nargout所用函数的输出变量数目realmin最小可用正实数realmax最大可用正实数基础部数学教研室8/86数学建模3.特殊向量和特殊矩阵(1)特殊向量t=[0:0.1:10]%产生从0到10的行向量,元素之间间隔为0.1t=linspace(n1,n2,n)%产生n1和n2之间线性均匀分布的n个数(缺省n时,产生100个数)t=logspace(n1,n2,n)(缺省n时,产生50个数)%在n110和n210之间按照对数距离等间距产生n个数。基础部数学教研室9/86数学建模(2)特殊矩阵i)单位矩阵eye(m),eye(m,n)可得到一个可允许的最大单位矩阵而其余处补0,eye(size(a))可以得到与矩阵a同样大小的单位矩阵。ii)所有元素为1的矩阵ones(n),ones(size(a)),ones(m,n)。iii)所有元素为0的矩阵zeros(n),zeros(m,n)。基础部数学教研室10/86数学建模iv)空矩阵是一个特殊矩阵,这在线性代数中是不存在的。例如q=[]矩阵q在工作空间之中,但它的大小为零。通过空矩阵的办法可以删除矩阵的行与列。例如a(:,3)=[]表示删除矩阵a的第3列。基础部数学教研室11/86数学建模ⅴ)随机数矩阵rand(m,n)产生m×n矩阵,其中的元素是服从[0,1]上均匀分布的随机数。normrnd(mu,sigma,m,n)产生m×n矩阵,其中的元素是服从均值为mu,标准差为sigma的正态分布的随机数。exprnd(mu,m,n)产生m×n矩阵,其中的元素是服从均值为mu的指数分布的随机数。poissrnd(mu,m,n)产生m×n矩阵,其中的元素是服从均值为mu的泊松(Poisson)分布的随机数。unifrnd(a,b,m,n)产生m×n矩阵,其中的元素是服从区间[a,b]上均匀分布的随机数。基础部数学教研室12/86数学建模ⅵ)随机置换randperm(n)产生1到n的一个随机全排列。perms([1:n])产生1到n的所有全排列。基础部数学教研室13/86数学建模二维绘图的基本命令有plot,loglog,semilogx,semilogy和polar。它们的使用方法基本相同,其不同特点是在不同的坐标中绘制图形。plot命令使用线性坐标空间绘制图形;loglog命令在两个对数坐标空间中绘制图形;而semilogx(或semilogy)命令使用x轴(或y轴)为对数刻度,另外一个轴为线性刻度的坐标空间绘制图形;polar使用极坐标空间绘制图形。A.3绘图命令A.3.1二维绘图命令基础部数学教研室14/86数学建模二维绘图命令plot为了适应各种绘图需要,提供了用于控制线色、数据点和线型的3组基本参数。它的使用格式如下:plot(x,y,’color_point_linestyle’)该命令是绘制y对应x的轨迹的命令。y与x均为向量,且具有相同的元素个数。用字符串‘color_point_linestyle’完成对上面3个参数的设置。线色(r-red,g-green,b-blue,w-white,k-black,i-invisible,y-yellow),数据点(.,o,x,+,*,S,H,D,V,^,,,p)与线型(-,-.,--,:)都可以根据需要适当选择。基础部数学教研室15/86数学建模当plot(x,y)中的x和y均为m×n矩阵时,plot命令将绘制n条曲线。plot(t,[x1,x2,x3])在同一坐标轴内同时绘制三条曲线。如果多重曲线对应不同的向量绘制,可使用命令plot(t1,x1,t2,x2,t3,x3)式中x1对应t1,x2对应t2等等。在这种情况下,t1,t2和t3可以具有不同的元素个数,但要求x1,x2和x3必须分别与t1,t2和t3具有相同的元素个数。基础部数学教研室16/86数学建模subplot命令使得在一个屏幕上可以分开显示n个不同坐标系,且可分别在每一个坐标系中绘制曲线。其命令格式如下subplot(r,c,p)该命令将屏幕分成r×c个子窗口,而p表示激活第p个子窗口。窗口的排号是从左到右,自上而下。基础部数学教研室17/86数学建模在图形绘制完毕后,执行如下命令可以再在图中加入标题、标号、说明和分格线等。这些命令有title,xlabel,ylabel,text,gtext等。它们的命令格式如下title(‘MyTitle’),xlabel(‘MyX-axisLabel’),ylabel(‘MyY-axisLabel’),text(x,y,'Textforannotation'),gtext('Textforannotation'),gridgtext命令是使用鼠标器定位的文字注释命令。当输入命令后,可以在屏幕上得到一个光标,然后使用鼠标器控制它的位置。按鼠标器的左键,即可确定文字设定的位置。基础部数学教研室18/86数学建模holdon是图形保持命令,可以把当前图形保持在屏幕上不变,同时在这个坐标系内绘制另外一个图形。hold命令是一个交替转换命令,即执行一次,转变一个状态(相当于holdon、holdoff)。基础部数学教研室19/86数学建模fplot(fun,lims)绘制由字符串fun指定函数名的函数在x轴区间为lims=[xmin,xmax]的函数图。若lims=[xmin,xmax,ymin,ymax],则y轴也被限制。A.3.2显函数,符号函数或隐函数的绘图基础部数学教研室20/86数学建模例A.1画1,1()11,1xxfxxx的图形。基础部数学教研室21/86数学建模解(1)首先用M文件Afun1.m定义函数()fx如下functiony=Afun1(x);ifx1y=x+1;elsey=1+1/x;end在matlab命令窗口输入fplot('Afun1',[-3,3])就可画出函数()fx的图形。(2)这里也可以使用匿名函数,编写程序如下Afun2=@(x)(x+1)*(x1)+(1+1/x)*(x=1);fplot(Afun2,[-3,3])基础部数学教研室22/86数学建模ezplot(f)绘制符号函数f的图形,横轴的近似范围为[2,2]。ezplot(f,[xmin,xmax])使用输入参数来代替默认横坐标范围[2,2]。基础部数学教研室23/86数学建模例A.2画出函数tanyx的图形解ezplot('tan(x)')ezplot也可以绘制隐函数的图形。基础部数学教研室24/86数学建模例A.3画出椭圆2214yx的图形。解ezplot('x^2+y^2/4=1')基础部数学教研室25/86数学建模在实际工程计算中,最常用的三维绘图是三维曲线图、三维网格图和三维曲面图3种基本类型。与此对应,Matlab也提供了一些三维基本绘图命令,如三维曲线命令plot3,三维网格图命令mesh和三维表面图命令surf。A.3.3三维图形基础部数学教研室26/86数学建模1.三维曲线plot3(x,y,z)通过描点连线画出曲线,这里x,y,z都是n维向量,分别表示该曲线上点集的横坐标、纵坐标、竖坐标。例A.4在区间[0,10]画出参数曲线sin()xt,cos()yt,zt,并分别标注。基础部数学教研室27/86数学建模2.网格图命令mesh(x,y,z)画网格曲面。这里x,y,z是三个同维数的数据矩阵,分别表示数据点的横坐标、纵坐标、竖坐标,命令mesh(x,y,z)将该数据点在空间中描出,并连成网格。例A.5绘制二元函数sin()xyzxy的三维网格图。基础部数学教研室28/86数学建模3.表面图命令surf(x,y,z)画三维表面图,这里x,y,z是三个同维数的数据矩阵,分别表示数据点的横坐标、纵坐标、竖坐标。例A.6绘制二元函数sin()xyzxy的三维表面图。基础部数学教研室29/86数学建模4.旋转曲面例A.7画出400130sin(25)130,[0,600]100xyexx绕x轴旋转一周形成的旋转曲面。基础部数学教研室30/86数学建模例A.8画出22(5)16xy绕x轴旋转一周所形成的旋转曲面。解因为这里的函数是隐函数,化成显函数后有两支,必须使用参数方程,旋转面的参数方程为4cosx,(54sin)cosy(54sin)sinz其中,[0,2]。(程序略)基础部数学教研室31/86数学建模5.其它二次曲面Matlab中使用绘图命令ezmesh或ezsurf也很方便,只需要把曲面方程写成两个变量的显函数方程或参数方程即可。基础部数学教研室32/86数学建模例A.9画出下列曲面的图形(1)旋转单叶双曲面222194xyz;(2)旋转双叶双曲面222194xyz;(3)抛物柱面2yx;(4)椭圆锥面22294xyz;(5)椭球面2221946xyz;(6)马鞍面zxy;(7)椭圆柱面22194xy.基础部数学教研室33/86数学建模给出Matlab帮助中的一个例子。例A.10[x,y,z,v]=flow;isosurface(x,y,z,v);A.3.43-D可视化图形基础部数学教研室34/86数学建模例A.11画出2(1)vxyz的示意图。基础部数学教研室35/86数学建模Matlab求极限的命令为limit(expr,x,a)limit(expr,a)limit(expr)limit(expr,x,a,'left')limit(expr,x,a,'right')其中limit(expr,x,a)表示求符号表达式expr关于符号变量x趋近于a时的极限,limit(expr)求表示缺省变量趋近于0时的极限。A.4Matlab在高等数学中应用A.4.1求极限基础部数学教研室36/86数学建模例A.12求下列表达式的极限(1)2011lim1cosxxx,(2)lim1xxax.基础部数学教研室37/86数学建模建模与求解Matlab的求导数命令为diff(expr)diff(expr,v)diff(expr,sym('v'))diff
本文标题:数学建模算法与应用课件(第二版)附录A--Matlab软件入门
链接地址:https://www.777doc.com/doc-1389475 .html