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

1.2 MATLAB基本操作

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

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

进入到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(虚数单位)。

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

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

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所示。

有时同一曲面或曲线需要从不同的角度去观察,或用不同的表现方式去表现。这时,为了便于比较,往往在一个窗口内画多幅图形。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所示。

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语句的作用与使用方式同其他编程语言一样,用来将控制流程进行分流与中断退出。

时间: 2024-07-31 02:46:27

《MATLAB信号处理超级学习手册》——1.2 MATLAB基本操作的相关文章

《MATLAB信号处理超级学习手册》——2.2 信号的产生

2.2 信号的产生 MATLAB信号处理超级学习手册 本节将使用MATLAB产生基本信号.绘制信号波形.实现信号的基本运算,为信号分析和系统设计奠定基础. MATLAB提供了许多函数用于产生常用的基本信号,如阶跃信号.脉冲信号.指数信号.正弦信号和周期矩形波信号等,这些基本信号是信号处理的基础. 2.2.1 方波函数 square的调用函数如下所示. x=square(t):类似于sin(t),产生周期为2*pi,幅值为1的方波. x=square(t,duty):产生制定周期的矩形波,其中du

《MATLAB信号处理超级学习手册》——2.6 离散时间系统

2.6 离散时间系统 MATLAB信号处理超级学习手册 离散时间系统还可分成线性和非线性两种.同时具有叠加性和齐次性(均匀性)的系统,通常称为线性离散系统.当若干个输入信号同时作用于系统时,总的输出信号等于各个输入信号单独作用时所产生的输出信号之和,这个性质称为叠加性.齐次性是指当输入信号乘以某常数时,输出信号也相应地乘以同一常数. 不能同时满足叠加性和齐次性的系统称为非线性离散系统.如果离散系统中乘法器的系数不随时间变化,这种系统便称为时不变离散系统:否则就称为时变离散系统. 2.6.1 离散

《MATLAB信号处理超级学习手册》——第2章 时间信号与系统 2.1 离散序列

第2章 时间信号与系统 一个离散时间信号是一个整数值变量n的函数,表示为x(n)或{x(n)}.尽管独立变量n不一定表示"时间"(例如,n可以表示温度或距离),但x(n)一般被认为是时间的函数.因为离散时间信号x(n)对于非整数值n是没有定义的. 离散时间信号的波形绘制在MATLAB中一般用stem函数.stem函数的基本用法和plot函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的.如果需要实心,需使用参数"fill"."filled&q

《MATLAB信号处理超级学习手册》——2.7 本章小结

2.7 本章小结 MATLAB信号处理超级学习手册 时间信号和系统的理论是数字信号处理的理论基础.本章首先简单介绍了信号中的7种离散序列.然后通过方波函数等10种MATLAB函数举例介绍了信号的产生,并对信号的变换.运算.奇偶分解.微积分等MATLAB运算做了说明.最后,通过介绍连续时间系统分析和离散时间信号运算.离散时间系统的描述,为学习信号处理建立了必要的理论基础.

《MATLAB信号处理超级学习手册》——1.4 本章小结

1.4 本章小结 MATLAB信号处理超级学习手册MATLAB 语言由于语法的简洁性.代码接近自然数学描述方式以及具有丰富的专业函数库等诸多优点,吸引了众多科学研究工作者,越来越成为科学研究.数值计算.建模仿真以及学术交流的事实标准. 本章主要介绍了MATLAB语言的8个特点,并举例说明了MATLAB语言的简洁.方便.然后从MATLAB用户界面.变量及赋值.绘图命令.MATLAB程序的结构流等四个方面说明MATLAB的基本操作.最后对于MATLAB中的重要内容M文件进行了简单介绍.

《MATLAB信号处理超级学习手册》——1.3 M文件

1.3 M文件 MATLAB信号处理超级学习手册创建M文件是MATLAB中的非常重要的内容.事实上,正是由于在MATLAB工具箱中存放着大量的M文件,使得MATLAB在应用起来显得简单.方便,且功能强大. 如果用户根据自己的需要,开发出适用于自己的M文件,不仅能使MATLAB更加贴近用户,而且能使MATLAB的功能得到扩展. M文件有两种形式:命令文件和函数文件.当用户要运行的命令较多时,如果直接在命令窗口中逐条输入和运行,有诸多不便.此时可通过编写命令文件来解决这个问题.另外,从前面的例中可以

《MATLAB信号处理超级学习手册》——2.3 信号在MATLAB中的运算

2.3 信号在MATLAB中的运算 MATLAB信号处理超级学习手册本节利用MATLAB进行离散时间序列的基本运算,掌握基本的MATLAB函数的编写和调试方法,同时了解对连续时间信号的时域运算,加深对信号的时域运算的理解. 2.3.1 信号的时移.反折和尺度变换描离散序列的时域运算包括信号的相加.相乘,信号的时域变换包括信号的移位.反折.尺度变换等.在MATLAB中,离散序列的相加.相乘等运算是两个向量之间的运算,因此参加运算的两个序列向量必须具有相同的维数,否则应进行相应的处理. 离散序列的时

《MATLAB信号处理超级学习手册》——2.4 连续时间系统的时域分析

2.4 连续时间系统的时域分析 MATLAB信号处理超级学习手册2.4.1 连续时间系统求解连续时间线性非时变系统(LTI)可以用如下的线性常系数微分方程来描述: 系统的响应一般包括两个部分,即由当前输入所产生的响应(零状态响应)和由历史输入(初始状态)所产生的响应(零输入响应). 对于低阶系统,一般可以通过解析的方法得到响应.但是,对于高阶系统,手工计算就比较困难,这时MATLAB强大的计算功能就比较容易确定系统的各种响应,如冲激响应.阶跃.零状态响应.全响应等. 涉及到的MATLAB函数有:

《MATLAB信号处理超级学习手册》——2.5 离散时间信号中的运算

2.5 离散时间信号中的运算 MATLAB信号处理超级学习手册2.5.1 离散时间系统响应离散时间LTI系统可用线性常系数差分方程来描述,即: 其中,a i(i=0,1,-,N)和b j(j=0,1,-,M)为实常数 MATLAB中函数filter可对式(2-24)的差分方程在指定时间范围内的输入序列所产生的响应进行求解.函数filter的语句格式为 y=filter(b,a,x) 其中,x为输入的离散序列:y为输出的离散序列,y的长度与x的长度一样:b与a分别为差分方程右端与左端的系数向量.