ImageVerifierCode 换一换
格式:PPT , 页数:111 ,大小:1.51MB ,
资源ID:18704932      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-18704932.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(matlab软件教程.ppt)为本站会员(wj)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

matlab软件教程.ppt

1、第一章 Matlab基础知识与基本操作,1.1 Matlab概述1.2 Matlab进入与退出1.3 Matlab桌面工作环境 1.3.1 窗口1指令窗口(Command Window)该窗口是进行Matlab操作最主要的窗口。窗口中“”为指令输入提示符,其后输入运算指令,按回车键即可执行运算,并显示运算结果(图形除外)。若在指令后输入“;”,则不显示计算结果,但结果保存在内存中。“%”后面书写的是用于解释的文字,不参与运算。例如:a=1;b=2;c=a+b%键入后,按回车(Enter)键运行结果:c=3,2工作空间(Workspace)在默认的Matlab工作桌面环境,位于左上方窗口前台,列

2、出内存中Matlab工作空间的所有变量的变量名(Name)、值(Value)、尺寸(Size)、字节数(Bytes)、和类型(Class)。用鼠标选中变量,单击右键可以进行打开(Open Selection)、保存(Save as)、清除(Delete)、修改(Edit Value)等操作。3当前目录(Current Directory)在默认的Matlab工作桌面环境,位于左上方窗口的后台,用鼠标点击可以切换到前台。该窗口列出当前目录的程序文件(.m)和数据文件(.mat)等。鼠标选中文件,单击右键可以进行打开(Open)、运行(Run)、删除(Delete)等文件操作。4指令历史(Comm

3、and History)该窗口列出在指令窗口执行过的Matlab指令行的历史记录。用鼠标选中指令行,单击右键可以进行复制(Copy)、执行(Evaluate Selection)、删除(Delete)等操作。除上述窗口外,Matlab常用的窗口还有编程器窗口、图形窗口等。,第一章 Matlab基础知识与基本操作,1.3.2 菜单和工具栏,表1.1 Matlab部分菜单和工具栏,第一章 Matlab基础知识与基本操作,1.4 Matlab语言基础 1.4.1数值计数 Matlab的数值采用的是常用的十进制数表示法,可以带小数点或者负号。以下计数都是合法的。2-330.033.431582.6-e

4、2.1e46 1.4.2变量 Matlab的具体命名规则和特殊规则见教材表1.2和表1.3所示。1.4.3运算符1数学运算符:+(加)、-(减)、*(乘),(左除)、/(右除)、(乘幂)2关系运算符:(小于)、(大于)、=(小于等于)、=(大于等于)、=(等于),=(不等于)3逻辑运算符:&(逻辑与运算)、|(逻辑或运算)、(逻辑非运算),第一章 Matlab基础知识与基本操作,1.4.4表达式例1.1 用Matlab的两种表达式形式计算56+sin+e3的结果。形式1:56+sin(pi)+exp(3)运行结果:ans=1.5645e+004形式2:a=56+sin(pi)+exp(3)运行

5、结果:a=1.5645e+004,第一章 Matlab基础知识与基本操作,1.4.5数据显示格式 用户可以根据需要,对命令窗口的数值计算结果的显示格式进行设置。设置的方法是,选中桌面或者指令窗口中的File|Prefereces菜单,将弹出一个参数设置对话框,选择需要的各项参数完成设置。1.4.6复数形式 Matlab不需要对复数作特殊处理,只需预定义变量i或j作为虚数单位。例如:a1=2+4i%附加的i表示虚部a2=2-3j%附加的j表示虚部a3=2*(4-sqrt(-1)*2)%sqrt(-1)表示虚部a4=5+sin(0.5)*i,1.4.7标点与注释 如同C语言中注释一行内容用“/”一

6、样,Matlab中用“%”实现注释功能,可以利用这一特性对所做工作进行文档注释。可以把多条命令放在同一行,只需在中间用逗号或者分号隔开。逗号告诉Matlab显示结果,分号说明还有下一条命令等待输入,这时不会显示中间结果。如果想在下一行继续注释的话,必须在行首再加“%”,否则系统会报错。,1.5 Matlab常用函数1.6 Matlab基本对象矩阵1.6.1矩阵的建立 1直接输入创建矩阵,例1.2 创建33数值矩阵a,b和字符矩阵c。a=1,2,3;4,5,6;7,8,9运行结果:a=1 2 3 4 5 6 7 8 9 b=1.5 12 3.3;14 55 0.6;-7-0.8 11.9运行结果

7、:b=1.5000 12.0000 3.3000 14.0000 55.0000 0.6000-7.0000-0.8000 11.9000 c=string运行结果:c=string,2向量法创建矩阵例1.3 建立一个10以内的奇数矩阵。a=1:2:10运行结果:a=3 5 7 93函数法创建矩阵 利用内部语句和函数还可以快速产生一些特别有用的矩阵,如单位矩阵、随机矩阵、零矩阵等4用矩阵编辑器来创建和修改矩阵 当输入的矩阵较大,不适合用手工直接输入时,可用矩阵编辑器(Array Edittor)来进行输入与修改,Matlab允许在运算和函数中使用复数矩阵,输入复数矩阵有下列两种方法:a=1+2

8、i 3+4i;5+6i 7+8i运行结果:a=1.0000+2.0000i 3.0000+4.0000i 5.0000+6.0000i 7.0000+8.0000i两式具有相同的结果。1.6.2矩阵的操作1.元素操作 Matlab允许用户对一个矩阵的单个元素进行操作,可以通过元素的下标进行(行、列的序号是从1开始的),如提取矩阵A的第二行第三列元素的指令为A(2,3)。修改某些元素的值不会影响其他元素的值。如果用户给出的行下标或列下标超出了原来的行数或列数,将自动扩展原来的矩阵,并将扩展后未赋值的矩阵元素置为零。,2.提取子块例1.4 输入一个43的矩阵,选出前三行构成一个新矩阵,再选出前二列

9、构成另一个矩阵。a=1 2 3;4 5 6;7 8 9;10 11 12;b=a(1:3,:)运行结果:b=1 2 3 4 5 6 7 8 9 c=a(:,1:2)运行结果:c=1 2 4 5 7 8 10 11,3.矩阵合并把两个矩阵合并成一个大矩阵,有两种形式:C=A;B说明:A矩阵与B矩阵的列数必须相同,B矩阵补在A矩阵的下面。C=A,B说明:A矩阵与B矩阵的行数必须相同,B矩阵补在A矩阵的右面。4.矩阵的展开其指令格式为:B=A(:),例1.5 把矩阵A=1 3 5;7 9 11和矩阵B=2 4 6合并成一个矩阵,再转置后展开。A=1 3 5;7 9 11;B=2 4 6;C=A;B运

10、行结果:C=1 3 5 7 9 11 2 4 6 C=C%将矩阵C转置运行结果:C=1 7 2 3 9 4 5 11 6 D=C(:),运行结果:D=1 3 5 7 9 11 2 4 61.6.3 矩阵的运算 加法:+;减法:-;乘法:*;左除:;右除:/;乘幂:;A的转置transpose(A)或A;数k乘以A:k*A;A的行列式:det(A);A的秩:rank(A);求A的逆:inv(A)或(A)-1。,1.7 Matlab符号计算基础1.7.1创建符号变量和符号矩阵函数sym的调用格式为:符号变量名=sym(表达式)说明:函数sym可创建一个符号变量,表达式可以是字符、字符串、数学表达式

11、或字符表达式等。函数syms的调用格式:syms 符号变量名1 符号变量名2 符号变量名3 说明:函数syms可一次创建多个符号变量。,例1.6创建符号变量。a=sym(matlab)运行结果:a=matlab b=sym(3*x2+4*x+7)运行结果:b=3*x2+4*x+7,例1.7 创建符号矩阵。e=1 3 5;2 4 6;7 9 11;%建立数值矩阵 m=sym(e)%创建符号矩阵运行结果:m=1,3,5 2,4,6 7,9,11,1.7.2符号表达式的基本运算函数例1.8 计算表达式x3-1与表达式x-1的和、差、积、商和乘方。syms x s1=x3-1;s2=x-1;symad

12、d(s1,s2)运行结果:ans=x3-2+x symsub(s1,s2)运行结果:ans=x3-x symmul(s1,s2),运行结果:ans=(x3-1)*(x-1)symdiv(s1,s2)运行结果:ans=(x3-1)/(x-1)sympow(s1,s2)运行结果:ans=(x3-1)(x-1),1.7.3符号表达式的化简函数符号数学工具箱提供了符号表达式的因式分解、展开、合并、化简、通分等数例1.9对表达式 进行因式分解。syms x%在命令窗口创建符号变量x f=factor(x3-1)运行结果:f=(x-1)*(x2+x+1),例1.10 展开三角表达式sin(a+b)。s=s

13、ym(sin(a+b);%用sym函数创建符号变量 expand(s)运行结果:ans=sin(a)*cos(b)+cos(a)*sin(b)例1.11化简分式(4x2+8x+3)/(2x+1)。syms x s=(4*x2+8*x+3)/(2*x+1);simplify(s)运行结果:ans=2*x+3,1.7.4符号表达式的替换函数函数Subexpr的调用格式为:R,SYM=subexpr(S,SYM)说明:此函数用变量SYM(字符或字符串)的值代替符号表达式S中重复出现的字符串,R是返回替换后的结果。函数subs的调用格式为:R=subs(S,old,new)说明:该函数是用新的符号变量

14、new替换原来符号表达式S中的变量old,R是替换后的符号表达式。需要注意的,当变量new是数值形式时,显示的结果虽然是数值,但它事实上是符号变量。要强制地求值需要用vpa函数或者eval函数。,第二章 Matlab绘图功能与程序设计,2.1 二维图形2.1.1 基本绘图命令MATLAB最常用的最基本的绘图函数命令是plot()。其调用格式如下:plot(Y)若Y为向量,则绘制的图形以向量索引为横坐标值、以向量元素值为纵坐标值。plot(X,Y)一般来说是绘制向量Y对向量X的图形。plot(X,Y,s)绘制不同的线型、标识、颜色等的图形时,可调用此形式,其中s为一字符,可以代表不同线型、点标、

15、颜色。,2.1.2 特殊的二维图形函数1 特殊坐标系的二维图形函数 具体来说就是对数坐标系、极坐标系以及双y轴坐标系等。绘制对数坐标曲线的函数有三个:semilogx()、semilogy()、loglog()。例2.5 对数组x=y=0:1:1000,试用函数semilogx()绘制其曲线。clear x=0:1:1000;y=0:1:1000;semilogx(x,y)xlabel(x)ylabel(y)grid on,对于极坐标系,MATLAB语言也提供了相应的函数加以处理,即函数polar,该函数调用形式如下:polar(theta,rho)或polar(theta,rho,s)其中,

16、输入变量theta为弧度表示的角度向量,rho是相应的幅向量,s为图形属性设置选项。例2.6绘制如图2-6所示极坐标下的二维图形 x=0:0.01*pi:4*pi;y=sin(x/2)+x;polar(x,y,-),双极坐标绘制二维图的函数plotyy。其调用格式有以下几种:plotyy(X1,Y1,X2,Y2)plotyy(X1,Y1,X2,Y2,fun)plotyy(X1,Y1,X2,Y2,fun1,fun2)例2.7 绘制如图2-7所示的双纵坐标二维图 x=0:0.1*pi:2*pi;y=sin(x);z=exp(x);plotyy(x,y,x,z,plot,semilogy),2 二维

17、特殊函数图例2.8 绘制条形图 x=1:10;y=rand(10,1);bar(x,y);例2.9绘制饼图 x=2 4 6 8;pie(x),例2.10 绘制等高线图 contour(Z,N/V)contour(X,Y,Z,N/V)N为所绘等高线的条数,V为输入向量,等高线的值为对应向量的元素值。a=rosser;v=-1000,-500,-100,0,100,500,1000;contour(a,v)contourf(a,v),2.2 三维图形2.2.1 基本绘图命令1plot3函数plot3(x,y,z)x,y,z为相同维数的向量,绘出这些向量表示的点的曲线。plot3(X,Y,Z)X,Y

18、,Z为相同阶数的矩阵,绘出矩阵列向量的曲线。plot3(X,Y,Z,s)s为定义线型的字符串。plot3(x1,y1,z1,s1,x2,y2,s2,)这是组合绘图调用形式。例2.11 绘三维螺旋线 x=0:pi/50:10*pi;y=sin(x);z=cos(x);plot3(x,y,z);,2网图函数X,Y=meshgrid(x,y)x,y为给定向量,用来定义网格的划分区域和划分方法。矩阵X和Y为网格划分后的数据矩阵。例2.12 绘制网图 x,y=meshgrid(-3:0.1:3,-2:0.1:2);z=(x.2-2*x).*exp(-x.2-y.2-x.*y);plot3(x,y,z),

19、例2.13 mesh函数绘制三维面图 x=-8:0.5:8;y=x;a=ones(size(y)*x;b=y*ones(size(x);c=sqrt(a.2+b.2)+eps;z=sin(c)./c;mesh(z),meshc与mesh调用方式相同,且能绘制相应的等高线。例2.14 meshc 函数绘制三维面图 x,y=meshgrid(-4:0.5:4);z=sqrt(x.2+y.2);meshc(z),meshz与mesh调用方式相同,增加了边界面屏蔽。例2.15 meshz函数绘制的三维面图 x,y=meshgrid(-4:0.5:4);z=sqrt(x.2+y.2);meshz(x,y

20、,z),3 着色函数surf(X,Y,Z)绘制着色的三维表面图,参数设置与mesh相同。例2.16 surf绘制的三维着色面图 x,y=meshgrid(-4:0.5:4);z=sqrt(x.2+y.2);surf(x,y,z),2.2.2 特殊的三维图形函数例2.16 绘制三维饼图 x=2 4 6 8;pie3(x,0,0,1,0),柱面图:X,Y,Z=cylinder(R,N)R为母线向量,N为旋转圆周上分割线的条数。例2.17 绘制柱面图 x=0:pi/20:pi*3;r=5+cos(x);a,b,c=cylinder(r,30);mesh(a,b,c),2.3 四维表现图为了表现四维图

21、像,引入了三维实体四维切片色图,它由函数slice来实现,其调用格式如下:slice(X,Y,Z,V,Sx,Sy,Sz)绘制向量Sx,Sy,Sz中的点沿x,y,z方向的切片图。数组X,Y,Z用来定义V的坐标。在每一点得颜色必须由对容量V的插值来决定。V必须为MN P阶的矩阵。slice(X,Y,Z,V,XI,YI,ZI)绘制沿XI,YI,ZI数组定义的曲面的通过容量V的切片图。slice(V,Sx,Sy,Sz)或slice(V,XI,YI,ZI)假设X=1:N,Y=1:M,Z=1:Pslice(,method)由method指定使用的插值方法。其值可以为linear,cubic或nearest

22、。默认为linear。H=slice()返回处理surface对象的向量。,例2.18 可视化函数,自变量的范围分别为-2 x,y,z=meshgrid(-2:.2:2,-2:.25:2,-2:.16:2);v=x.*exp(-x.2-y.2-z.2);slice(x,y,z,v,-1.2.8 2,2,-2-.2)colorbar(horiz)view(-30,45),2.4 图形处理技术2.4.1 图形的控制 1坐标轴控制函数 axis(V)V为坐标轴范围数组:二维图形:V=XMIN,XMAX,YMIN,YMAX 三维图形:V=XMIN,XMAX,YMIN,YMAX,ZMIN,ZMAX ax

23、is 控制字符串,具体的控制字符串的表达形式如教材表2.4所示。,2坐标轴缩放函数zoomzoom 控制字符串 实现对二维图的缩放 on 允许对图形缩放 off 禁止对图形缩放(factor)以factor为缩放因子进行坐标轴缩放 out 恢复所进行的一切缩放 xon 只允许对x轴进行缩放yon 只允许对y轴进行缩放3.平面的坐标网图函数gridgrid on/off 显示和取消网格4.坐标轴封闭函数 box box on/off 四周显示坐标轴和常规坐标轴2.4.2 图形的标注,1.坐标轴标注 title xlabel ylabel(标注,属性1,属性值1,)例2.19 坐标轴标注示例 x=

24、0:0.1*pi:2*pi;y=sin(x);plot(x,y)xlabel(x(02pi),FontWeight,bold);ylabel(y=sin(x),FontWeight,bold);title(正弦函数,Fontsize,12,fontweight,bold,fontname,黑体),例2.20 标注的显示控制与上下标示例 x=-10:0.1:10;y=exp(-x.2/2);title(bf y=e-x2/2),2文本标注 text(x,y,标注文本及控制字符串)(x,y)为给定标注文本在途中添加的位置。例2.21 文本标注示例 x=1:0.1*pi:2*pi;y=sin(x);

25、plot(x,y);text(3*pi/4,sin(3*pi/4),leftarrow sin(3pi/4)=-7.707),例2.22 复杂文本标注 x=1:0.1*pi:2*pi;y=sin(x);plot(x,y);text(3*pi/4,sin(3*pi/4),leftarrowsin(3pi/4)=,num2str(sin(3*pi/4),fontsize,12)text(5*pi/4,sin(5*pi/4),sin(5pi/4)=,num2str(sin(5*pi/4),rightarrow,.Horizontalalignment,right,fontsize,12),3交互式文

26、本标注gtext(s)执行时,图形中出现“十”字型交叉线供用户选择标注位置。S为标注内容的字符串,标注内容为多行时,s为一单元型字符数组。4图例标注 legend(标注1,标注2,)标注1、标注2等分别对应绘图过程中绘制的先后顺序的曲线。例2.23 图例标注示例 x=1:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,x,z)legend(sin(x),cos(x),2.4.3图形的保持与子图1图形的保持 hold on 启动图形保持功能,此后所有的图形都添加到当前的图形窗口中,系统会自动调整坐标。hold off 关闭图形保持功能。例2.24 图形保持示例 x=

27、0:0.1*pi:2*pi;y=sin(x);z=cos(x);plot(x,y,-*)hold on plot(x,z,-o)plot(x,y+z,-h)legend(sin(x),cos(x),sin(x)+cos(x),0)hold off,2子图 subplot(m,n,p)将一个图形窗口分隔成mn格区域,参数p指定子绘图区域。例2.25 图形的子图示例 x=0:0.1*pi:2*pi;subplot(2,2,1);plot(x,sin(x),-*)title(sin(x)subplot(2,2,2);plot(x,cos(x),-o)title(cos(x)subplot(2,2,3

28、);plot(x,sin(x).*cos(x),-x)title(sin(x)*cos(x)subplot(2,2,4);plot(x,sin(x)+cos(x),-h)title(sin(x)+cos(x),2.5 M文件2.5.1 命令式文件例2.26 通过M脚本文件,画出下列分段函数所表示的曲面。,1 编写M脚本文件%This is my first example.a=2;b=2;clf;%CLF Clear current figurex=-a:0.2:a;y=-b:0.2:b;for i=1:length(y)for j=1:length(x)if x(j)+y(i)1 z(i,j

29、)=0.5457*exp(-0.75*y(i)2-3.75*x(j)2-1.5*x(j);elseif x(j)+y(i)=-1 z(i,j)=0.5457*exp(-0.75*y(i)2-3.75*x(j)2+1.5*x(j);else z(i,j)=0.7575*exp(-y(i)2-6.*x(j)2);endendendaxis(-a,a,-b,b,min(min(z),max(max(z);colormap(flipud(winter);surf(x,y,z);,2 运行文件 使mypro1.m所在目录成为当前目录,或让该目录处在MATLAB的搜索路径上,然后运行以下指令,便可得到图形

30、。,2.5.2 函数式文件函数式文件语法为:function返回参数列表=函数名(输入参数列表)例2.27 通过M函数文件画出上例中分段函数的曲面。function mypro2(a,b)%This is my second example.%aDefine the limit of variable x.%bDefine the limit of variable y.进行上述修改后,对zx82.m再次实施“保存”操作。在MATLAB指令窗中,运行以下指令,就能产生与图8.1-1-2完全相同的图形。zx82(2,2),例2.28 计算第n个Fibonnaci数打开命令编辑窗口,编写如下程序:

31、function f=fibfun(n)%FIBFUN for calculating Fibonacci numbersif n2 f=fibfun(n-1)+fibfun(n-2);else f=1;end运行结果:fibfun(19)ans=4181,2.6控制语句2.6.1 循环语句1for循环for循环的最大特点是,它的循环判断条件通常是对循环次数的判断,也就是说,在一般情况下,此循环语句的循环次数是预先设定好的。for循环语句的一般格式如下:for v=expression(表达式)statements(执行语句);end,例2.29 一个简单的for循环示例。for i=1:10

32、;%i依次取1,2,10,.x(i)=i;%对每个i值,重复执行由该指令构成的循环体,end;x%要求显示运行后数组x的值。运行结果:x=1 2 3 4 5 6 7 8 9 10,例2.30设有向量t,t=-1,0,1,3,5,由此生成一个55阶的Vandermonde(范德蒙)矩阵。t=-1 0 1 3 5;n=max(size(t);for j=1:n for I=1:n a(I,j)=t(I)(n-j);endend运行结果:a=1-1 1-1 1 0 0 0 0 1 1 1 1 1 1 81 27 9 3 1 625 125 25 5 1,2 while循环同for循环比起来,whil

33、e语句的判断控制可以是一个逻辑判断语句,因此,它的适用范围会更广一些。while循环语句的语句格式为:while expression statementsEnd例2.31 Fibonacci数组的元素满足Fibonacci 规则:,;且。现要求该数组中第一个大于10000的元素。a(1)=1;a(2)=1;i=2;while a(i)=10000 a(i+1)=a(i-1)+a(i);%当现有的元素仍小于10000时,求解下一个元素。i=i+1;end;i,a(i),i=21 ans=10946,2.6.2选择语句选择判断句的一般形式为:If expression()statements;else expression()statements;End例2.32 B样条函数的判断函数。function f=pdbsline(x)if x0 f=0;elseif x1 f=x;elseif

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2