《MATLAB信号处理超级学习手册》——1.2 MATLAB基本操作

简介:

本节书摘来自异步社区《MATLAB信号处理超级学习手册》一书中的第1章,第1.2节,作者:MATLAB技术联盟 , 史洁玉著,更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 MATLAB基本操作

MATLAB信号处理超级学习手册
本节主要介绍MATLAB一些入门知识,包括MATLAB桌面和窗口,MATLAB命令格式、数据格式、数据文件和变量管理,MATLAB的变量,MATLAB的程序设计方法,MATLAB作图方法,在线帮助的使用和程序文件、目录的管理等。

1.2.1 MATLAB用户界面
启动MATLAB,单击MATLAB图标,进入到用户界面,如图1-1所示。

screenshot

进入到MATLAB命令窗(MATLAB Command Window),在命令窗内,可以输入命令、编程、进行计算。

使用Help命令,在搜索栏输入fft,会出现如图1-2所示的画面。从图中可以很快知道一些函数的用法。在MATLAB中也提供了M文件的编辑窗口,如图1-3所示。

1.2.2 变量及赋值
在MATLAB中,变量由字母、数和下画线组成。第一个字符必须是字母,一个变量最多由31个字符组成,并区分大小写。下面是MATLAB中表示特殊量的字符:pi(圆周率)、eps(最小浮点数)、Inf(正无穷大)、NaN(表示0/0或inf-inf等不定值)、i,j(虚数单位)。

screenshot

screenshot

MATLAB语句的一般形式为:变量=表达式。当某一语句的输入完成后,按“Enter”键,计算机就执行该命令。如果该语句末没输入其他符号或输入了逗号,将显示结果;如果句末输入了分号,将不显示结果;如果语句中省略了变量和等号,那么计算机将结果赋值给变量ans。

把m×n个数排成m行n列的数表,此数表被称为m行n列的矩阵,记为:

screenshot

MATLAB中矩阵的输入方法如下:B=[3,4,5;1,2,2],逗号是数之间的分隔符(也可用空格代替);分号是换行符。

1.2.3 绘图命令
绘制二维图形的基本命令是plot(x,y)。其中x、y是1×n阶矩阵。也可以用格式plot(x1,y1,x2,y2,…)把多条曲线画在同一坐标系下。在这种格式中,每个二元对x-y的意义都与plot(x,y)的相同,每个二元对x-y的结构也必须符合plot(x,y)的要求,但二元对之间没有约束关系。以上3种格式中的x、y都可以是表达式,但表达式的运算结果必须符合上述格式要求。

MATLAB的图形功能还提供了一组开关命令。关于颜色和线形用下面的方法进行控制。plot(x,'r')表示用红色号画线,plot(x,y,'b+')表示用蓝色+号画线,plot(x1,y1,'y-',x2,y2,'g:')表示第一组用黄色实线画线,第二组用绿色点线画线。

MATLAB的线型字符有很多,可以随心所欲地把图画得很漂亮。下面几个线型字符大家可以选用:

S:小方块;H:六角星;D:钻石形;V:向下三角形;^:向上三角形。

MATLAB还提供了图形的加注命令:

title                %题头标注
xlabel              %x轴标注
ylabel              %y轴标注
gtext                %鼠标定位标注
grid                %网格
axis([xmin xmax ymin ymax])      %[]中给出x轴和y轴的最小、最大值

【例1-2】把y1=sint,y2=cost,y3=sint2-tcost绘制在一张图上。运行程序如下:

t=0:pi/12:2*pi;
y1=sin(t);
y2=cos(t);
y3=sin(t.^2)-t.*cos(t);
plot(t,y1,'r-',t,y2,'bo',t,y3,'k:')
%用红线画y1,用蓝圈画y2,用黑虚线画y3。

运行结果如图1-4所示。

screenshot

有时同一曲面或曲线需要从不同的角度去观察,或用不同的表现方式去表现。这时,为了便于比较,往往在一个窗口内画多幅图形。MATLAB用subplot命令实现这一目的,具体格式为:

subplot(m,n,p)      %使用此命令后,把窗口分为m×n个图形区域,p表示当前区域号。

【例1-3】把sinx,cosx,atanx,sinxcosy画在一个窗口。运行程序如下:

x=0:pi/6:2*pi;y=x;
z1=sin(x);z2=cos(x);z3=atan(x);
subplot(2,2,1); plot(x,z1,'r',x,z2,'g')
subplot(2,2,2);plot(x,z3,'m')
subplot(2,2,3);[x,y]=meshgrid(x,y);z4=sin(x).*cos(y);
mesh(x,y,z4);subplot(2,2,4);surfc(x,y,z4)

运行结果如图1-5所示。

screenshot

1.2.4 MATLAB程序的结构流
MATLAB也有控制流语句,用于控制程序的流程。主要有for循环、while循环、if和break3种控制语句。虽然语句很少,但功能很强。

(1)for循环语句

for循环语句的一般表达形式为:

for i=表达式
   可执行语句1
   …
   可执行语句n
end

(2)while循环

while循环语句用来控制一个或一组语句在某逻辑条件下重复预先确定或不确定的次数。

while循环语句的一般表达形式为:
while  表达式
     循环体语句
 end

(3)if和break语句

MATLAB中if和break语句的作用与使用方式同其他编程语言一样,用来将控制流程进行分流与中断退出。

相关文章
|
25天前
OFDM深入学习及MATLAB仿真(二)
OFDM深入学习及MATLAB仿真
22 1
|
1月前
|
索引
matlab日常学习-------矩阵
matlab日常学习-------矩阵
23 0
|
7月前
|
机器学习/深度学习 传感器 负载均衡
一种高效的自主学习方式——基于簇头的方法 Vanet中的路由(Matlab代码实现)
一种高效的自主学习方式——基于簇头的方法 Vanet中的路由(Matlab代码实现)
|
4月前
【MATLAB学习】—结构化与自定义函数(四)
【MATLAB学习】—结构化与自定义函数(四)
|
23天前
【MATLAB学习】—MATLAB逻辑与流程控制(三)
【MATLAB学习】—MATLAB逻辑与流程控制(三)
|
2月前
|
移动开发 vr&ar
【MATLAB学习】—矩阵构造和四则运算(二)
【MATLAB学习】—矩阵构造和四则运算(二)
|
4月前
|
机器学习/深度学习 索引
【MATLAB学习】—MATLAB基本操作(一)
【MATLAB学习】—MATLAB基本操作(一)
|
3月前
|
Perl
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
【MFAC】基于全格式动态线性化的无模型自适应控制(Matlab代码)
|
3月前
【数值分析】迭代法求方程的根(附matlab代码)
【数值分析】迭代法求方程的根(附matlab代码)
|
3月前
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)
【数值分析】Jacobi、Seidel和Sor迭代法求解线性方程组(附matlab代码)

热门文章

最新文章