1、Matlab快速入门版第一部分 Matlab软件基础一、软件安装、启动与退出1、软件安装在PC机上安装Matlab,双击“setup.exe”应用程序,启动安装向导,按照屏幕提示操作,如输入用户名、单位名、口令等。2、软件启动启动Matlab有多种方法:一是双击桌面上的Matlab快捷方式图标;二是单击开始程序Matlab 3、软件退出退出Matlab也有多种方法:一是单击窗口右上角的号;二是在command窗口中键入exit或quit回车。二、Matlab基本界面不同版本的Matlab,工作环境不完全相同,但它是一个典型的Windows应用程序窗口:由标题栏、菜单栏、工具栏、交互窗口、状态栏
2、、垂直和水平滚动条等部分组成。其中,交互窗口主要包括:命令窗、历史指令窗、当前目录窗、工作空间浏览窗(含数组编辑器)、资源目录本、帮助浏览器、图形窗、程序编辑调试器等等。各交互窗口的打开与关闭、浮动与嵌入均可通过指令、菜单或工具控制。所有交互窗口中以命令窗最重要。三、命令窗1、窗口的脱离与嵌回将指令窗脱离的方法有:执行MATLABViewundock command window命令或点击指令窗器右上角的“undock from desttop”钮。将脱离的指令窗嵌回的方法:执行Command WindowViewdock command window命令。2、命令窗显示方式指令窗中的字体风格
3、、大小、颜色和数值计算结果显示等显示方式可采用缺省显示方式。想修改显示方式,先选中桌面或指令窗中的File菜单,执行ProferenceCommand Window or Font & Colors命令,该设置将立即有效且永久保留。屏显格式有Loose(缺省)和Compact两种。数据存储和运算格式中有一种,即16位十进制(二进制双精度),但显示格式有8种,缺省的数据格式是format short(四位小数)。3、常用标点的功能标点符号在MATLAB中的地位极其重要,为确保指令正确执行,标点符号一定要在英文状态下输入。常用标点符号的功能如下:逗号, 用作要显示计算结果的指令与其后面的指令之间的
4、分隔;用作输入量与输入量之间的分隔符;用作数组元素分隔符号。黑点. 用作数值表示中的小数点;用于元素群运算。分号; 用作不显示计算结果指令的结尾标志;用作不显示计算结果的指令与其后面的指令之间的分隔;用作数组的行间分隔符号。冒号: 用以生成一维数值数组;用做单下标援引时,表全部元素构成的长列;用做多下标援引时,表示那维上的全部。注释号% 由它启首后的所有物理行被看作非执行的注释。单引号 字符串记述符。圆括号( ) 在数组援引时用;函数指令输入宗量列表时用。方括号 输入数组时用;函数指令输出宗量列表时用。花括号 元胞数组记述符。续行号 由三个以上连续黑点构成。它把其下的物理行看作该行的逻辑继续,
5、以构成一个较长的完整指令。4、常用操作指定在MATLAB指令窗中,常见的通用操作指定主要有:clc 清除指令窗中显示内容clear 清除MATLAB工作空间中保存的变量。close all 关闭所有打开的图形窗口cd 设置当前工作目录。clf 清除图形窗内容。dir 列出指定目录下的文件和子目录清单。edit 打开m文件编辑器。exit 关闭/退出MATLAB。quit 关闭/退出MATLAB。more 使其后的显示内容分页进行。type 显示指定M文件的内容。disp 显示变量的内容。what 列出当前目录或指定目录下的文件。lookfor 按指定的关键字查找.m文件(在查找范围内)。exi
6、st 检查变量或函数文件的存在性。fdatool 打开滤波器设计分析工具箱simulink 打开仿真工具箱! 运行外部程序(命令)。5、指令编辑操作键 前寻调回已输入过的指定行。 后寻调回已输入过的指定行。 在当前行中左移光标。 在当前行中右移光标。PageUp 前寻式翻阅当前窗中的内容。 PageDown 后寻式翻阅当前窗中的内容。Home 使光标移到当前行的首端。 End 光标移到当前行的尾端。Delete 删除光标右边的字符。 Backspace 删除光标左边的字符。Esc 清除当前行的全部内容。四、操作举例:最简单的计算器使用法例1:求的算术运算结果。(1)用键盘在MATLAB指令窗中
7、输入以下内容clc;clear;(12+2*(7-4)/32 (2)在上述表达式输入完成后,按【Enter】键,该指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans = 2 例2:简单矩阵的输入步骤。(1)在键盘上输入下列内容A = 1,2,3; 4,5,6; 7,8,9 (2)按【Enter】键,指令被执行。(3)在指令执行后,MATLAB指令窗中将显示以下结果:A = 1 2 3 4 5 6 7 8 9第二部分 Matlab基本语法一、标识符、特殊变量标识符是标志变量名、常量名、函数名和文件名的字符串的总称。标识符可由字母、数字和下划线组成,但必须以英文字母开头。标
8、识符区分字母大小写。特殊变量是MATLAB内部用来表达特殊含义的变量(包括常量),又称为MATLAB的预定义变量。如:ans(指当前未定义变量名的答案);eps(表示浮点相对精度,eps=2-522.2204e-016);inf(无穷大);nan(不是数);i或j(虚单元);pi(圆周率);nargin(函数输入宗量数目);nargout(函数输出宗量数目);realmax(最大正实数);realmin(最小正实数)。在编写和程序指定时,应尽可能不对这些预定义变量重新赋值。二、变量及其赋值MATLAB的变量可以是一组由实数或复数组成的数组。数组中的每一个元素可用变量后面圆括号( )中的数字(也
9、称为下标)注明,如一维数组(或称向量)中的元素用一个下标表示;二维数组可用两个以逗号分开的下标表示;可扩展到三维或高维。1、一维数组的创建与寻访创建一个一维数组有多种方法。(1)逐个元素输入法:元素可用表达式(2)冒号生成法: x=a:inc:b (步长为1时,可用x=a:b生成)(3)定数线性采样法: x=linspace(a,b,n)(4)定数对数采样法: x=logspace(a,b,n)一维子数组的寻访(Address)。例3:x =1,2,3,4,5,6,7,8,9,y1= x(3), y2=x(1 2 5), y3=x(1:3),y4=x(3:end),y5=x(3:-1:1),y
10、6=x(find(x4), 一维子数组的赋值(Assign)。例4:x =1,2,3,4,5,6,7,8,9, x(3) = 0, x(5 6)=1 1, 2、二维数组的创建与寻访二维数组从结构上看,和矩阵没有什么区别。当二维数组带有线性变换含义时,该二维数组就是矩阵。创建一个二维数组必须注意三个要素:一是整个输入数组必须以方括号为其首尾;二是数组同一行中各元素之间以逗号或空格分隔;三是不同行之间必须用分号或回车隔离。在MATLAB环境下,也可用另一种输入方式创建复数数组。 例5:创建复数数组 M_r=1,2,3;4,5,6,M_i=11,12,13;14,15,16 CN=M_r+i*M_i
11、 二维子数组的寻访与赋值。例6:创建数组有时也可用函数的方法进行创建 a=reshape(1:9,3,3)a = 1 4 7 2 5 8 3 6 9二维子数组的寻访 a(2,3)二维子数组的赋值 a(3,3)=0二维子数组的全行赋值 a(2,:)=1,2,3二维数组取数 b=a(1,3,2,3) %取出第1、3行和第2、4列交点上元素构成新矩阵二维子数组抽数 a(2,3,:)= %抽出第2行和第3行的所有元素二维子数组的扩展赋值 a(4,:)=4,5,6,3、变量检查在调试程序中,往往需要检查工作空间的变量及其阶数,可用who or whos命令。如想清除工作空间的变量,可用clear命令。利
12、用工作空间浏览器的现场菜单,不但可以检查变量,还可以输入、编辑、保存、图形显示(矩阵以列为单位)变量。三、函数及其应用MATLAB语言的难点是函数多,仅基本部分就有700多个函数,共分为22大类(即22个函数库)。学习函数的基本方法是利用help命令或help窗口文件,在应用中逐步扩展掌握。例7:绘制两条正弦信号波形,wt取0到2。clear;wt=0:2*pi/100:2*pi;y1=sin(wt);y2=sin(wt-pi/4);plot(wt,y1,r)hold onplot(wt,y2,b:)axis(0,2*pi,-1.1,1.1)xlabel(wt),ylabel(y),title
13、(正弦波形图),grid on四、矩阵运算和数组(元素群)运算矩阵在结构上和二维数组没有区别,但矩阵是一种具有线性变换意义的二维数组。由于矩阵具有线性变换意义,故矩阵运算有明确而且严格的数学规则。把矩阵作为一个整体进行运算的运算符有五个“ 、*、/、 ”,运算函数有三个“sqrtm、expm、logm ”。在做矩阵运算时,往往需要提取其中某些行列结构的元素来组成新的矩阵;有时则要改变矩阵的排列。如行列提取、抽除和转置等。数组(元素群)运算是指对数组中所有元素按单个元素进行运算。MATLAB所有的运算符和函数都适用于做元素群运算。如果是对数组进行“转置、乘、除、幂”等运算,必须在运算符前加一个小
14、黑点。例8:解线性方程组AX=B,只须输入: A=6,3,4;-2,5,7;8,-4,-3;B=3;-4;-7;X=AB,五、逻辑操作在程序流控制中,在逻辑推理中,都需要对一类是非问题作出真假回答,为此,MATLAB设计有包括关系运算、逻辑运算和一些相关函数的逻辑操作。MATLAB约定:在所有关系表达式和逻辑表达式中,输入的任何非0数视为逻辑真,而只有0才被认为是逻辑假;所有关系表达式和逻辑表达式的计算结果是一个由0和1组成的逻辑数组;逻辑数组是数值类的子类,它有数值数组的全部属性,又可表示事物的判断结论。1、关系运算关系运算是指两个元素之间的数值比较。数值关系一共有“、=、=、=”6种可能,
15、但结果只有“0、1”两个。2、逻辑运算基本的逻辑运算只有“&、|、 ”三种,有时也包括异或(xor)。输出结果仍只有“0、1”两个值。3、逻辑关系函数常用的逻辑关系函数用法可索引帮助文档。4、运算优先级MATLAB表达式中可能包含多种运算符:数学运算符、关系运算符、逻辑运算符等等。各运算符的优先级别是:括号、转置与幂、正负符号与逻辑非、乘除、加减、关系运算、逻辑与、逻辑或。相同级另的运算符先左后右依次执行。六、流程控制控制MATLAB的程序流有循环语句和条件转移语句两类控制语句,还有一些程序流控制指令。1、for语句(循环次数确定)2、while语句(循环次数不确定)3、if语句(条件转移)4
16、、switch语句(条件转移)5、控制程序流的常用指令return input keyboard yesinput pause break error warning第三部分 Matlab基本操作一、m文件(在程序编辑调试器中新建、打开、编辑和调试)对于比较简单的问题或一次性问题,通过在指令窗中直接输入一组指令求解,也许是比较简便快捷的方式。但当待解决的问题须即时应用,或所需指令较复杂,或一组指令只须改变少量参数就可反复解决不同问题时,直接在指令窗中输入指令的方法就显得烦琐、累赘和笨拙。m文件可很好地解决这个问题。m文件可用编辑调试器(Edit/Debugger)进行编辑调试。缺省情况下,m文
17、件编辑器不随MATLAB的启动而开启,新建或打开(均有edit指令、菜单或工具三种操作)m文件时均可启动m文件编辑器。m文件的扩展名是“*.m”。m文件的指令形式和前后位置与在指令窗中输入的指令没有任何区别,MATLAB在运行该文件时,只是简单地从该文件中一条条地读取并送到MATLAB中去执行,产生的变量都驻留在工作空间。m文件的编写:用clear,close all,clc等语句清除工作空间的变量、图形和命令窗口;如有全局变量,要用global声明;如须将m文件运行的指令显示在屏幕上,则要用echo on(off)指定;程序必须都用半角英文字母和符号,建议:在程序输入时从头到尾用英文(单引号
18、内部的字符除外),汉字在程序调试完毕后加入;编辑器可对程序的字体格式和段落缩进自动排版;程序路径和标识符不允许出现汉字字符;以%开头的物理行后面是注释(可用汉字)。m文件的运行:在m文件编辑调试器(Edit/Debugger)中执行Debug:Run命令,还有其他方式。运行m文件时可用“Ctrl+C”中止m文件的运行。二、matlab绘图(数据函数可视化)matlab绘图命令比较多,如常用的MATLAB绘图语句有plot、stem 、subplot、 figure等。关于figure有两种用法,一是创建一个新的图形窗口;二是将指定的n号窗口作为当前窗口,如果不存在,则新建并编号为n 。利用su
19、bplot命令可分割窗口。利用title命令可给图加上标题,利用xlabel命令可给坐标轴加上说明,利用text或gtext命令可在图上任何位置加标注,利用grid命令可在图上画坐标网格线。这些命令的调用格式,可参阅help查找。1、Matlab一元函数绘图命令及符号意义如下表所示。表1 基本线型和颜色 符号 颜色 符号 线型y黄色.点m紫红0圆圈c青色xx标记r红色+加号g绿色*星号b兰色-实线w白色:点线k黑色-.点划线-虚线表2 二维绘图工具grid放置格栅gtext用鼠标放置文本hold保持当前图形text在给定位置放置文本title放置图标题xlabel放置x轴标题ylabel放置y
20、轴标题zoom缩放图形表3 axis命令axis(x1,x2,y1,y2)设置坐标轴范围axis square当前图形设置为方形axis equal坐标轴的长度单位设成相等axis normal关闭axis equal和axis squareaxis off关闭轴标记、格栅和单位标志axis on显示轴标记、格栅和单位标志表4 二维绘图函数bar条形图hist直方图plot简单的线性图形polar极坐标图形2、绘图函数应用举例例9:画出的图形。clc;clear;close allx=linspace(0,2*pi,50);y=sin(x);plot(x,y,r-,LineWidth,2)ti
21、tle(正弦曲线);xlabel(自变量x)ylabel(函数y)text(0,1.2,y=sinx)axis(0,6.5,-1.1,1.1)grid例10:画出的图象。clc;clear; close allx=linspace(-30,30,200);y=sin(x)./x;plot(x,y);axis(-30,30,-0.5,1.5);grid例11:矩形波可表示为其中: 设,则:1、绘幅频特性曲线图程序clc;close all;clear;format compact;a0=0.2,%求直流分量n=1:15,an=0.4*sin(0.2*pi*n)./(0.2*pi*n),%求谐波分
22、量cn=abs(a0),abs(an),%生成幅度谱f=0,n*1,%生成频率横坐标stem(f,cn,.),%绘幅度频谱xlabel(频率f);ylabel(幅度谱cn);title(周期矩形信号的幅度谱);hold on;%叠加包络线fb=linspace(0,15,100);cnb=abs(0.4*sin(0.2*pi*fb+eps)./(0.2*pi*fb+eps);plot(fb,cnb,r:),2、绘n=0、1、2时三个分量的波形图及前16项分量相加波形图clc;close all;clear;format compact;a0=0.2,%求直流分量n=1:15,%设置谐波个数,值
23、越大合成波形越接近原始信号an=0.4*sin(0.2*pi*n)./(0.2*pi*n),%求各谐波分量t=-1.5:0.01:1.5;y0=a0;plot(t,y0,k:),%用黑虚线绘直流分量hold on;%在同一窗口绘图y1=an(1)*cos(1*2*pi*t);plot(t,y1,r:),%用红虚线绘基波分量y2=an(2)*cos(2*2*pi*t);plot(t,y2,b:),%用蓝虚线绘二次谐波y=y0;%开始累加前n项for i=1:length(n);yi=an(i)*cos(i*2*pi*t);y=y+yi;end plot(t,y,k,LineWidth,2),%用
24、黑实线绘分量叠加信号3、绘幅频特性曲线图和相频特性曲线图(自做)三、文件管理MATLAB安装目录下主要有:bin(二进制文件目录)、extern(外部文件目录)、help(帮助文件目录)、toolbox(工具箱目录)等子目录和一个work用户目录。MATLAB的用户文件格式主要有:程序文件(*.m)、数据文件(*.mat)、MATLAB可执行文件(*.mex),另外还有图形文件(*.fig)、Simulink生成的模型文件(*.mdl)、仿真文件(*.s)等等。MATLAB程序对字符串识别的优先顺序是:工作空间的变量名内部固有变量名mex文件名M文件名。MATLAB程序对字符串的搜索路径包括:
25、工作空间、当前目录、搜索目录。另外,在MATLAB的交互窗口中,前面已经介绍了指令窗和程序编辑调试器。下面再分别简单介绍历史指令窗、当前目录窗、工作空间浏览窗(含数组编辑器)、资源目录本和帮助浏览器等窗口。1、历史指令窗历史指令窗记录着指令窗中输入过的所有指令行。其内容可用EditClear Command History菜单命令清除。选中历史指令窗中的单行或多行(Ctrl+点击)后右击,引出现场菜单,可进行复制、重新运行或生成M文件等操作。如想把MATLAB指定窗中的全部内容记录下来,还可用diary命令。2、当前目录窗当前目录窗用于设置当前目录并显示当前目录下的文件信息。显示的文件类型可通
26、过ViewCurrent Directory Filter条目进行设置,如果勾选了FilePreferenceShow M-file comments and MAT-file Contents条目,还可显示文件注释或目录。注意分清用户目录、当前目录和搜索目录之间的关系。设置当前目录比较简单,设置搜索目录可用pathtool指令、FileSet path菜单或path函数进行设置。3、工作空间浏览窗(含数组编辑器)用于显示保存在内存中的所有MATLAB变量,与指令窗中的whos指令结果相同。不过,工作空间浏览窗的现场菜单(选中变量右击)可对变量进行查阅、删除、保存等操作,还可进行数组输入与编辑
27、。4、资源目录本用于把用户在当前系统中安装的所有MATLAB产品说明、演示和帮助信息的目录集成起来,便于用户迅速调用查阅。5、帮助浏览器学习MATLAB可用:help指令、帮助浏览器、PDF文档和demos演示等多种方法。其中,帮助浏览器是一种重要的方法和手段,它有Contents目录窗、Index索引窗、Search搜索窗和Favorites书签窗,使用方便、资料齐全。通过初步对matlab的学习,我觉得收获很大。我了解到matlab是一个功能很大的数学实验软件,即一个很好的计算机数学软件平台。我在学习matlab主要是围绕实验,初步学习了一些简单的矩阵运算以及简单的图形,在做书上的实验中得
28、到了实践各种矩形的计算为我们提供了很多的方便,在我们的生活也有很大的作用。但现在我所学到的matlab技术还是很初步的,但是我已经了解到matlab的实用性很大,学习好这门技术对我日后的发展有很大的帮助,所以在今后的学习中,我会继续深入学习这门技术。 Matlab的功能强大,对我们现在学习的线性代数是非常有帮助的,利用这款软件会是我们原本复杂的计算变得简单明了。Matlab的优点计算方便、快捷、准确、操作方便,流程简单。虽然matlab优点很多,但是我开始对matlab这门技术并不是很了解,开始以为只是一个计算矩形的软件,但是随着学习的深入我对matlab的了解也相应深入,才知道matlab不
29、仅可以运算矩阵,运算处理一些数据,还可以用于编程并且和其他的计算机编程有很大的区别。Matlab是一种专业的计算机程序,主要用于工程科学矩阵数学运算。但我相信在未来的几年里,它会渐渐发展陈一种非常灵活的计算体系,可以解决更多的技术问题。通过初步对matlab的学习,我觉得收获很大。我了解到matlab是一个功能很大的数学实验软件,即一个很好的计算机数学软件平台。我在学习matlab主要是围绕实验,初步学习了一些简单的矩阵运算以及简单的图形,在做书上的实验中得到了实践各种矩形的计算为我们提供了很多的方便,在我们的生活也有很大的作用。但现在我所学到的matlab技术还是很初步的,但是我已经了解到m
30、atlab的实用性很大,学习好这门技术对我日后的发展有很大的帮助,所以在今后的学习中,我会继续深入学习这门技术。Matlab的功能强大,对我们现在学习的线性代数是非常有帮助的,利用这款软件会是我们原本复杂的计算变得简单明了。Matlab的优点计算方便、快捷、准确、操作方便,流程简单。虽然matlab优点很多,但是我开始对matlab这门技术并不是很了解,开始以为只是一个计算矩形的软件,但是随着学习的深入我对matlab的了解也相应深入,才知道matlab不仅可以运算矩阵,运算处理一些数据,还可以用于编程并且和其他的计算机编程有很大的区别。Matlab是一种专业的计算机程序,主要用于工程科学矩阵数学运算。但我相信在未来的几年里,它会渐渐发展陈一种非常灵活的计算体系,可以解决更多的技术问题。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1