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