matlab程序设计课程体系.doc_第1页
matlab程序设计课程体系.doc_第2页
matlab程序设计课程体系.doc_第3页
matlab程序设计课程体系.doc_第4页
matlab程序设计课程体系.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一讲:Matlab介绍及桌面操作环境一、matlab介绍(1)历史背景产生的背景版本:1992年(v4.0),1997年(v5.0),1999年(v5.3),2000年(v6.0),2002年(v6.5),2004年(v7.0)。操作系统:windows(98、2000、xp),Dos(unix、linux)(2)特点工作界面友好,操作简单;编程语言简单,程序设计自由;计算能力强大,库函数资源丰富;超强图形处理能力;源代码开放,工具箱应用广泛;图形用户界面(GUI)设计和应用程序接口(API)(3)安装与卸载(4)启动与退出启动:单击Windows开始菜单,依次选择程序MATLAB7.0MATLAB7.0;运行MATLAB系统启动程序matlab.exe;如果用户在桌面上建立了快捷方式,也利用快捷方式启动MATLAB系统。退出:在MATLAB主窗口File菜单中选择Exit MATLAB命令;在MATLAB命令窗口输入Exit或Quit命令;单击MATLAB主窗口的关闭按钮。(5)工作界面(主窗口)二、桌面操作环境(1)窗口命令窗口主要操作:输入、输出,运行函数,执行程序。常见命令及功能:clc、clear、clear all、clear 变量名、clf(清楚图形窗口内容)、delete 文件名、help文件名、which 文件名(查找文件路径)、svae、load、size、ctrl+c(ctrl+break)。M文件编辑/调试器历史命令窗口当前目录窗口工作空间窗口图形窗口(2)菜单file:常用菜单项:new、open、import data、preferences、page setup(页面设置)、print、exit。edit(编辑菜单),很多时候采用快捷键实现。debug(调试菜单)desktopwindowhelp(有效利用帮助信息)(3)工具条(4)帮助系统联机帮助系统菜单help或快捷键F1;工具条上问号按钮;在命令行窗口输入helpdesk、helpwin、doc命令;联机演示系统help-demos;在命令窗口输入demos。在线帮助系统help-web resources(网络资源)+check for updates(检测更新)。命令查询系统help 函数名;help-demos-search+函数名。第二讲:Matlab基本运算一、数值类型(1)变量命名规则(a):变量名以英文字母开始,由字母、数字、下划线组成,不能有空格和标点符号;(b):区分大小写;(c):变量名长度不能超过31位,超过部分将被忽略;(d):某些常量也可作变量名,如虚数单位i。变量的显示format:短格式(5位定点数);format long:长格式(15位定点数);format e:短格式e方式;format long e:长格式e方式;format bank:2位十进制格式;变量存取save:存储load:读取(2)常量matlab中常见常量:pi:圆周率i(j):虚数单位inf:无穷大nan:“not a number”即不定值自然对数的底e:exp(x):计算e的x次方,故e=exp(1).二、关系运算与逻辑运算(1)关系运算符:大于: 大于等于:=小于: 小于等于:a=1 2 3 4 %建立一个4维行向量b=2;4;6;8 %建立一个4维列向量c=1 0 1 1;0 0 1 1;0 1 0 1;1 1 1 0 %建立4行4列的矩阵d=1 2 3 4;4 3 5 6;2 2 1 3 %建立3行4列矩阵(2)矩阵的访问向量单个元素访问:a(i)矩阵单个元素访问:c(i,j)访问矩阵某一行:d(i,:)访问矩阵某一列:d(:,j)访问矩阵某一块:d(1:2,2:4)(3)矩阵的基本运算加(+)、减(-)、乘(*)、左除(/)、右除()、幂()、转置()、求逆(inv()(4)常用矩阵函数方阵的行列式:det(A)矩阵的秩:rank(A)矩阵的特征值和特征向量:eig(A)计算矩阵特征方程的根:poly(A)(参考帮助系统)diag(A):生成由矩阵A的主对角元素组成的列向量;diag(X):生成由向量X的元素为主对角元素,其余元素为零的方阵;triu(A):生成上三角矩阵;tril(A):生成下三角矩阵;(5)常见特殊矩阵zeros():产生元素全为0的矩阵ones():产生元素全为1的矩阵eye():产生单位矩阵rand():产生均匀分布的随机矩阵randn():产生正态分布的随机矩阵五、符号运算(1)创建符号对象sym函数:一次定义一个符号;格式:符号变量=sym(符号字符串)syms函数:一次定义多个符号;格式:syms x1 x2 x3 . 例如:u=sym(3*x2+5*y2+2*x*y+6)syms x yv=x2-2*y2+x*y2*u-v+2(2)符号表达式的四则运算syms x y;s1=2*x2-x+5;s2=x2+3*x-2;s1+s2s1-s2s1*s2s1/s2因式分解:例如: s=sym(x2-2*x-3); factor(s)又如s=sym(6*x4+5*x3+5*x-6);factor(s)再如f= factor(123)多项式展开s=sym(2*x+3)*(3*x-2)*(x2+1)expand(s)(3)符号微积分运算极限命令:limit(F,x,a)%计算函数F当x趋向于a时的极限;例1:求syms x;limit(x2-1)/(x-1),x,1)例2:求syms x;limit(cos(x)-cos(3*x)/(x2),x,0)例3求syms x;limit(x+sin(x)/x,x,inf)导数一阶导数命令:diff(F)%计算函数F的导数例1 求的导数syms x;diff(3*x2+2*x+1)命令:diff(F,x)%计算函数F关于x的导数例2 求的导数syms a x;diff(cos(a*x2-1),x)例3 求关于a的导数syms a x;diff(cos(a*x2-1),a)高阶导数:命令:diff(F,x,n)例4:求的二阶导数syms x;diff(3*x2+2*x+1,2)例5:求关于x的二阶导数syms a x;diff(cos(a*x2-1),x,2)例6:求的二阶混合导数syms a x;dx=diff(cos(a*x2-1),x);dxa=diff(dx,a)积分不定积分命令:int(F)%求F的不定积分例1:求syms x;int(cos(2*x-1)例2:求syms x;int(x/sqrt(x+1)定积分命令:int(F,a,b)%求F在a,b上的定积分例3:求syms x;int(x3*atan(x),0,1)例4:计算广义积分syms x;int(1/(1+9*x2),-inf,inf)二重积分:例5:计算二重积分,D由和围成。若先对y积分,则积分限为:,syms x y;z=0.5*(2-x-y);z_y=int(z,y,x2,x);z_y_x=int(z_y,x,0,1)第三讲:Matlab数值计算一、解方程(1)直接解法roots函数格式:roots(P)%计算多项式方程P=0的根例1:求方程的根P=1 -2 -3;%用向量表示多项式,即P是多项式的系数向量roots(P)例2:求方程的根P=1 -2 0 3 -8;X=roots(P)fsolve函数格式:fsolve(fun,x0)%计算fun=0的根,x0为估计根的初始值x,fva= fsolve(fun,x0) %输出根x及x处的函数值x,fva,exi= fsolve(fun,x0) %输出根x及x处的函数值,exi为1表示正常退出例3:求方程的根 x,fva=fsolve(x*3x-1,0.8)例4:求方程的根 x,fva,exi=fsolve(x*exp(2*x)-8,0.8) x,fva,exi,out=fsolve(x*exp(2*x)-8,0.8)fzero函数格式:fzero(fun,x0)%计算fun=0的根,x0为估计根的初始值,可是是常数,也可以是区间,若是常数则计算x0附近的根,若是区间,则计算区间里的根,无根则输出错误信息。x,fva= fszero(fun,x0) %输出根x及x处的函数值x,fva,exi= fzero(fun,x0) %输出根x及x处的函数值,exi为1表示正常退出例5:求方程的根 x=fzero(x2+x-1,0.5) x=fzero(x2+x-1,-2) x=fzero(x2+x-1,1 2) x=fzero(x2+x-1,0 2) x,fva,exi,out=fzero(x2+x-1,0 2)(2)其它迭代解法如二分法、牛顿切线法、不动点迭代法、弦截法等,这些算法的实现将在第五讲应用举例中讲述。二、求解方程组(1)线性方程组矩阵求逆法例1:求解线性方程组 A=1 2 3;-1 3 7;9 0 3; b=1;4;7; x=Ab或者 A=1 2 3;-1 3 7;9 0 3; b=1;4;7; x=inv(A)*b矩阵分解法LU分解命令:L,U=lu(A)%对AX=B的系数矩阵A进行lu分解,使A=LU,则原方程变为LUX=B,则X= U(LB)或X=inv(U)*inv(L)*B.例2:利用LU分解求解线性方程组 A=1.5 3 -0.8 4;2 0 9 10;-7 4.8 -0.6 1;14 12.3 -4 5; B=4;0;1;-2; L,U=lu(A) X=U(LB)%或X=inv(U)*inv(L)*BQR分解命令:Q,R=qr(A)%对AX=B的系数矩阵A进行qr分解,使A=QR,则原方程变为QRX=B,则X= R(QB)或X=inv(R)*inv(Q)*B.例3:利用QR分解求解线性方程组 A=1 0.5 0.3333 0.25;0.5 0.3333 0.25 0.2;.0.3333 0.25 0.2 0.1667;0.25 0.2 0.1667 0.1429; B=1;2;2;1; Q,R=qr(A) x=R(QB) 或X=inv(R)*inv(Q)*BCholesky分解命令:R,p=chol(A) %对AX=B的系数矩阵A进行Cholesky分解,使A=RR,则原方程变为RR X=B,则X= R(RB)或X=inv(R)*inv(R)*B. 若A正定对称,则p为0,否则p为一正整数。例4:利用QR分解求解线性方程组 A=9 -36 30;-36 192 -180;30 -180 180; B=1;1;1; R,p=chol(A) x=R(RB) %或X=inv(R)*inv(R)*B迭代法如Gauss-Seidel迭代法、Jacobi迭代法等,这些算法的实现将在第五讲应用举例中讲述。超定方程的近似解法伪逆法:X=pinv(A)*B最小二乘法:X=lsqnonneg(A,B)例5:利用伪逆法和最小二乘法求解超定方程组 A=1 -2 3;4 1 0;7 1 6;9 5 8; B=1;0;1;0; X1=pinv(A)*B %利用伪逆法 X2=lsqnonneg(A,B) %利用最小二乘法欠定方程AX=B的通解matlab在求解欠定方程组时,只给出其中一组解,不会给出方程组的通解,但是可以用rref命令(查看增广矩阵的秩和系数矩阵的秩)来分析方程是否有通解。例6:求欠定方程的通解 A=1 2 3 -1;3 2 1 -1;1 -2 -5 1; B=2;4;0; X=ABX = 1.25 0 0.25 0 rref(A B)ans = 1.00 0 -1.00 0 1.00 0 1.00 2.00 -0.50 0.50 0 0 0 0 0显然有通解为:当就是系统给出的特解。(2)非线性方程组直接解法直接采用fsolve函数进行求解。例7:求方程组的根,初始解为x=2,2.解:首先建立函数的m文件,文件名为myfun.m:function F=myfun(x)F=x(1)2-x(2)-2;-2*x(1)+x(2)2-4;然后再命令窗口中输入: x0=2 2; r,val=fsolve(myfun,x0)结果为:r = 2.21431974337811 2.90321192591201val = 1.0e-011 * 0.20752288776293 0.15250023466251也可以用fsolve函数求解矩阵方程;例8:求矩阵方程的一个根,初始解为x0=1,1;1,1.解:首先建立函数的m文件, 文件名为matrixfun.m:function F=matrixfun(x)F=x*x-11,-8;24,-3;然后再命令窗口中输入: x0=1,1;1,1; r,val=fsolve(matrixfun,x0)结果为:r = 0.99999999999957 -1.99999999999959 6.00000000000010 2.99999999999989val = 1.0e-011 * 0.14068746168050 0.27231550348006 -0.28421709430404 0.16089352072868可以验证结果。迭代解法非线性方程组的数值解法大多源于非线性方程的解法,区别是将数的计算换成了矩阵的计算。常用的非线性方程组的迭代算法有不动点迭代法和牛顿迭代法等。具体算法实现将在第5讲中讲述。三、解微分方程(1)直接解法函数:dsolve格式:(1)dsolve(equation) %给出微分方程的解析解,表示为t的函数。(2)dsolve(equation,v) %给出微分方程的解析解,表示为v的函数。(3)dsolve(equation,condition) %给出微分方程初值问题的解,表示为t的函数。(4)dsolve(equation,condition,v) %给出微分方程初值问题的解,表示为v的函数。例1: 计算的通解。 dsolve(Dy=x2) ans = x2*t+C1由于系统默认的自变量是t,故在求解时将x看作了常数。 dsolve(Dy=x2,x) ans = 1/3*x3+C1此解才是我们想要的解。例2:计算的通解 dsolve(Dy+3*x*y=x*exp(-x2),x) ans = exp(-x2)+exp(-3/2*x2)*C1例3:求微分方程在初始条件下的特解。 dsolve(x*Dy+2*y-exp(x)=0,y(1)=2*exp(1),x) ans = (exp(x)*x-exp(x)+2*exp(1)/x2例4:求二阶微分方程的通解。 dsolve(D2y+2*Dy+exp(x)=0,x) ans = -1/3*exp(x)-1/2*exp(-2*x)*C1+C2(2)微分方程(组)数值解法请在学了数值计算方法后自学这部分内容。主要方法有欧拉法、龙格-库塔法、预估-校正法等。四、数理统计(1)数据排序、最值、均值、查找排序命令:sort(x)%向量x按曾序排列;y,ind=sort(x)%向量x增序排列为y向量,并输出下表向量;例1:已知某5个同学的数学、外语、计算机成绩分别为math=86 78 82 91 85;english=62 48 71 69 66;computer=88 79 76 94 96,请将按各科分数增序排列,并分别找出各科的最差生和最优生。最大、小值命令:max(x)%求向量的x的最大元素值;min(x)%求向量x的最小元素值;max(A)%求矩阵A每一列中最大值组成的行向量;min(A)%求矩阵A每一列中最小值组成的行向量;max(A,B)%求矩阵A和B中对应元素最大值组成的矩阵;例2:找出数学最高分和英语最低分;将各科成绩写成一个矩阵result=math;english;computer,利用相应命令寻找各科的最高最低分和每个同学的最高最低分。均值(期望)命令:mean(x)%求向量x的平均值;mean(A)%计算矩阵A每一列的均值例3:计算每门课程的平均成绩和每个同学的平均成绩;查找命令:find(express)例4:找出数学成绩最高的是第几个学生、高于平均成绩的是那几个学生;find(math=max(math)find(math=mean(math)(2)和与积和、累计和命令:sum(x)%求向量x所有元素之和sum(A)%求矩阵A的各列元素和;cumsum(x)%求向量x的累计和向量例5:求1+3+5+99; x=1:2:99; sum(x)例6:求每个学生的总成绩;例7:cs1=3 4 2 5 6 3;cs2=cumsum(cs1);plot(cs1);hold on;plot(cs2);例8:cs3=ones(4);cs4=cumsum(cs3);积、累计积命令:prod(x)%求向量x所有元素之积prod(A)%求矩阵A的各列元素积;cumprod(x)%求向量x的累计积向量(3)方差、标准差命令:var()%方差std()%标准差例8: a1=rand(1,200); %在0到1之间产生200个均匀分的随机数 mean(a1) %计算其期望 var(a1) %计算其方差 std(a1) %计算其标准差(4)协方差、相关系数命令:cov()%协方差corrcoef()%相关系数例9: cov(a1) %计算a1的协方差(方差) cov(a1,a2) %计算a1和a2的协方差 corrcoef(a1,a2) %计算a1和a2的相关系数 b1=1 2 3 4 5 6 7; b2=2 4.1 5.8 7.9 10.2 12.5 15; corrcoef(b1,b2)%计算 corrcoef(a1,a2) %计算b1和b2的相关系数(5)随机数的产生命令:random %参考help例10: y=random(normal,0,1,1,10000); %产生0均值1方差1行10000列的正太分布随机数; mean(y) %检验均值 var(y) %检验方差 y1=random(poisson,10,1,10000); %产生均值为10的1行10000列的泊松分布随机数; mean(y1) %检验均值 var(y1) %检验方差 y2=random(exp,2,1,10000); %产生均值为2的1行10000列的指数分布随机数; mean(y2) %检验均值 var(y2) %检验方差综合例:某校60名学生的一次考试成绩如下:93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 551)计算均值、标准差、极差,画出直方图;2)检验分布的正态性;3)若检验符合正态分布,估计正态分布的参数并检验参数。 x=93 75 83 93 91 85 84 82 77 76 77 95 94 89 91 88 86 83 96 81 79 97 78 75 67 69 68 84 83 81 75 66 85 70 94 84 83 82 80 78 74 73 76 70 86 76 90 89 71 66 86 73 80 94 79 78 77 63 53 55; mean(x)%计算均值 std(x)%计算标准差 range(x)%计算极差(最高分减最低分) hist(x)%画直方图 h=normplot(x)%分布正态性检验,若数据是正态分布,则图形为线形(直线),其他分布为曲线 muhat,sigmahat,muci,sigmaci=normfit(x)%正态分布数据的参数估计和置信区间(95%),其中muhat为均值,sigmahat为标准差,muci为均值置信区间,sigmaci为标准差置信区间; H,sig,ci=ttest(x,80.1)%假设检验,H=0接受,H=1拒绝。sig为显著性水平,ci为95%的置信区间。常用随机数生成器R=normrnd(mu,sigma,m,n)%产生均值为mu,标准差为segma的m行n列正太分布随机数;如: R=normrnd(0,1,2,10000); mean(R) var(R)R=normrnd(mu,m,n)%产生均值为mu的m行n列正太分布随机数;如: R1=exprnd(2,10000,3); mean(R1) var(R1)(6)回归分析(略)函数:regress%多元线形回归(7)方差分析(略)函数:anova1%单因素方差分析 anova2%双因素方差分析第四讲:Matlab数据绘图一、二维图形(1)函数曲线图命令:fplot(fun,lim)%绘出函数fun在范围lim内的图形;例如1: fplot(sin(x),0 2*pi) fplot(cos(x),0 2*pi) fplot(sqrt(x)-1,0 2*pi) fplot(sin(x),cos(x),sqrt(x)-1,0 2*pi)当然也可以先编写M文件,在画图,请参考doc fplot。(2)数据曲线图命令:plot(y),plot(x,y)例2:已知某单位2000年至2009年的销售收入分别为13.1,15.4,15.8,16.2,18.4,21.5,20.9,21.6,25.7,30.3,请画出销售收入增长趋势图。 plot(y) x=2000:2009;plot(x,y)二、三维图形(1)三维曲线命令:plot3例3:绘制空间曲线在的图形。 t=0:0.1:10*pi; x=2*cos(t); y=3*sin(t) z=t.2; plot3(x,y,z)例4:绘制曲线的图形,并从不同视角观察。t=0:pi/50:10*pi;x=exp(-0.1*t).*cos(t);y=exp(-0.1*t).*sin(t);z=t;figure(1)plot3(x,y,z)figure(2)plot3(x,y,z),view(1 0 0)figure(3)plot3(x,y,z),view(0 0 1)figure(4)plot3(z,x,y)(2)三维网格曲面命令:mesh、meshc、meshz例5:绘制函数的三维网格曲面(a)x,y=meshgrid(-5:0.01:5);z=x.2+y.2;mesh(x,y,z)(b)x,y=meshgrid(-5:0.5:5);z=x.2+y.2;mesh(x,y,z)(c) meshc(x,y,z)(d) meshz(x,y,z)(e)x,y=meshgrid(-20:0.5:20);z=x.*y;mesh(x,y,z)(3)三维阴影曲面命令:surf、surfc例6:绘制高斯分布函数的曲面图X,Y,Z = peaks(30);%计算函数值figure(1)surf(X,Y,Z)%绘制曲面图firure(2)surfc(X,Y,Z)%绘图曲面图,带等值线figure(3)meshc(X,Y,Z)%对比mesh与surf的区别(4)其他三维图形三维瀑布图:waterfallX,Y,Z = peaks(30);waterfall(X,Y,Z)三维等值线:contour3X,Y = meshgrid(-2:.25:2);Z = X.*exp(-X.2-Y.2);contour3(X,Y,Z,30)三角形网格图和三角形表面图:x,y=meshgrid(-5:0.5:5);z = x.*exp(-x.2-y.2);tri=delaunay(x,y);%建立三角形网格figure(1)trimesh(tri,x,y,z)figure(2)trisurf(tri,x,y,z)三、特殊图形(1)直方图命令:hist例7:%均匀分布直方图x=rand(500,1);hist(x)%正态分布直方图x=randn(500,1);hist(x)%指数分布直方图R1=exprnd(2,10000,1);hist(R1)(2)柱状图命令:bar例8:已知某单位2000年至2009年的销售收入分别为13.1,15.4,15.8,16.2,18.4,21.5,20.9,21.6,25.7,30.3,请画出销售收入增长趋势图。data=13.1,15.4,15.8,16.2,18.4,21.5,20.9,21.6,25.7,30.3;data=13.1 15.4 15.8 16.2 18.4 21.5 20.9 21.6 25.7 30.3;bar(data)(3)饼图命令:pie例9:已知三个品牌多占的市场分分别为30%,25%,16%,其他品牌占29%,请作图分析。x=0.3,0.25,0.16,0.29;figure(1)pie(x)figure(2)pie(x,品牌一,品牌二,品牌三,其他品牌)figure(3)pie3(x)%三维饼状图(4)等值线图命令:contour,clabel,contourf例10:绘制z=peaks的等值线图z=peaks;figure(1)contour(z)%画出一般等值线图figure(2)c,h=contour(z,7.5,5.5,3.5,2.5,1.5,0.5,0.05,0.005);clabel(c,h);%画出等值线图并标注数字figure(3)c,h=contour(z,6);clabel(c,h);%画出等值线图并标注数字Figure(4)Contourf(z,8)c,h=contourf(z,8);clabel(c,h);三维等值线图X,Y = meshgrid(-2:.25:2);Z = X.*exp(-X.2-Y.2);contour3(X,Y,Z,10)figurec,h=contour3(X,Y,Z,10);clabel(c,h);四、图形修饰(1)图形窗口操作打开不同图形窗口figure(i)拆分图形窗口subpolot例11:重复例10.z=peaks;subplot(2,2,1)contour(z)subplot(2,2,2)c,h=contour(z,7.5,5.5,3.5,2.5,1.5,0.5,0.05,0.005);clabel(c,h);subplot(2,2,3)c,h=contour(z,6);clabel(c,h);subplot(2,2,4)c,h=contourf(z,8);clabel(c,h);(2)线型、点型与颜色参看教材209页例:用不同的线点型和颜色画简单函数的图形,熟悉这些定义符。(3)网格与图形保持添加网格:grid on取消网格:grid off图形保持:hold on取消保持:hold off(4)文字标示添加标题:(a)命令:title例如:fplot(sin(x),0 2*pi,:)title(正弦曲线)(b)通过图形窗口insert添加标题(c)通过图形窗口view下的property editor或双击坐标轴或用右键选中prperties来编辑。添加文本:例:在同一图形窗口画出正弦和余弦函数图形,并添加文本说明。(a)命令:text(x,y,string)%在指定点(x,y)处添加文本string;gtext(string)%用鼠标和键盘决定string的位置。x=-2*pi:0.1:2*pi;y1=sin(x);y2=cos(x);plot(x,y1,ko)hold onplot(x,y2,rd)gtext(正弦曲线)gtext(余弦曲线)(b)使用insert菜单textbox菜单项添加。添加直线和箭头:例:指出高斯曲面的最高点和最低点%先画出图形X,Y,Z=peaks(30);surf(X,Y,Z)%使用insert操作。添加坐标轴标签:(a)使用函数xlabel、ylabel例如:years=2000 2001 2002 2003 2004 2005;value=12 14 18 19 22 27;plot(years,value)xlabel(years)ylabel(value)(b)使用insert操作添加图例:(a)使用函数legendx = -pi:pi/20:pi;plot(x,cos(x),-ro,x,sin(x),-.b)legend(cos,sin,2);(b)使用insert操作第五讲:Matlab程序设计一、M文件M文件时包含matlab代码的文件。根据内容和功能可分为脚本M文件和函数M文件。脚本M文件matlab代码按顺序组成的命令序列集合,不接受参数的输入和输出,一般用于实现一个相对独立的功能,如某种分、绘图或求解等。运行方式:(1)将其代码粘贴至命令空间后运行(2)输入文件名运行M文件中所有代码(3)运行快捷键例1:图形窗口拆分与等值线绘图在M文件编辑器中输入以下代码,并保存为cf_dzx.mz=peaks;subplot(2,2,1)contour(z)subplot(2,2,2)c,h=contour(z,7.5,5.5,3.5,2.5,1.5,0.5,0.05,0.005);clabel(c,h);subplot(2,2,3)c,h=contour(z,6);clabel(c,h);subplot(2,2,4)c,h=contourf(z,8);clabel(c,h);函数M文件需要接受参数的输入和输出,只处理输入参数传递的数据,并把处理结果作为函数输出参数返回给指定接收变量。matlab提供的很多库函数就是这种文件。一般要求文件名和函数名一致,才能调用该文件,否则会很麻烦。例2:编写函数实现求给定矩阵的平均值。%功能:求一个矩阵所有元素的平均值function average=junzhi(A)s=sum(sum(A);%求所有元素的和m,n=size(A);%求一共有多少个元素average=s/m/n;%求平均值二

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论