> 文档中心 > MATLAB技术手册(针对大学课设的技术介绍及仿真实例演示)

MATLAB技术手册(针对大学课设的技术介绍及仿真实例演示)

目录

保姆级 MATLAB技术手册 1/N(基础篇)

一.常用绘图语句简介及实例

二.绘图修饰命令简介及实例 

三.常用信号生成函数

写在最后

下期预告


保姆级 MATLAB技术手册 1/N(基础篇)

一.常用绘图语句简介及实例

1.figure函数-幕布函数

  • 作用: 创建幕布,即新建一个窗口程序
  • figure(n); 创建幕布,第n个图形窗口为当前窗口且置顶

代码及仿真图

figure;%幕布函数figure(2);%当前第n窗口为置顶窗口

2.plot函数-线性绘图函数

  • 作用: 用于以线形图的形式来描述输入函数的仿真结果
  • plot(x,y,‘s’); x-横轴变量,y-纵轴变量,‘s’-用于控制图形基本特征,如颜色,粗细,具体对应代码需查表

3.subplot函数:分割显示图形窗口命令

  • 作用: 可以实现多个仿真图集合于同一幕布,便于查看与比较
  • subplot(m,n,i); 将图形窗口分为m行,n列,共m·n个小窗口(均位于同一幕布),并制定第i个小窗口为当前窗口

4.bar函数,stairs函数,stem函数

  • 作用: bar函数-条形图 stairs函数-阶梯图 stem函数-杆图
  • 其语法与plot函数完全相同 不同点在于其仿真图的表现形式分别为条形图,阶梯图,杆图

5.xlim函数-自定义x轴范围

  • 作用:可以实现自定义x轴的范围长度,将仿真图限制于此范围内
  • xlim([m n]);限制x轴的范围为m-n

代码及仿真图

     %以正弦函数为例figure;     %生成一块幕布x=0:0.5:10; %函数自变量范围 以及频率0.5y=sin(x);   %函数表达式subplot(2,2,1);    %在同一块幕布上生成一个2·2个小窗口,第一个窗口plot(y);    %将函数以线状图的形式输出xlim([0 13.6]);    %设定仿真图x轴范围为[0-13.6]title('线状图');    %绘图修饰命令title,以下title命令概念及作用相同subplot(2,2,2);    %在同一块幕布上生成一个2·2个小窗口,第二个窗口stem(y);    %将函数以杆状图的形式输出xlim([0 13.6]);title('杆状图');subplot(2,2,3);    %在同一块幕布上生成一个2·2个小窗口,第三个窗口bar(y);     %将函数以条形图的形式输出xlim([0 13.6]);title('条形图');subplot(2,2,4);    %在同一块幕布上生成一个2·2个小窗口,第四个窗口stairs(y);  %将函数以阶梯图的形式输出xlim([0 13.6]);title('阶梯图');

6.hold on函数,hold off函数

  • 作用:hold on函数: 在同一块幕布上保持原有图形
  • hold off函数: 刷新原有图形

7.axis函数-自定义横纵轴范围函数

  • 作用:自定义x轴范围 自定义y轴范围
  • axis([xmin xman ymin ymax]); xmin-xmax为x轴范围 ymin-ymax为y轴范围
figure;  %幕布函数  %以正弦,余弦函数为例x=0:0.01:10;    %函数自变量范围 以及频率0.01y1=sin(x);      %函数表达式plot(y1);hold on; %hold on函数 在同一块幕布上保留y1函数%hold off;     %刷新幕布 hold off在此处起作用即为第二张仿真图 若注释即为第一张仿真图y2=cos(x);      %函数表达式plot(y2);axis([0 1000 -1 1]);   %axis函数 自定义x轴 y轴范围hold off;      %刷新幕布
hold on函数生效
hold off函数生效

二.绘图修饰命令简介及实例

1.title函数-图形函数(图形置顶位置)

  • 作用: 在幕布上方即置顶位置输出自定义语句
  • title(‘自定义语句’);

2.xlabel函数-x轴说明(图形底侧位置)

  • 作用: 在幕布底侧即横坐标轴下方输出自定义语句
  • xlabel(‘自定义语句’);

3.ylabel函数-y轴说明(图形左侧位置)

  • 作用: 在幕布左侧即纵坐标轴左方输出自定义语句
  • ylabel(‘自定义语句’);

4.text函数-图形说明函数(图中位置)

  • 作用: 在幕布中对图形进行描述
  • text(x,y,‘自定义语句’); x-横坐标,y-纵坐标,‘自定义语句’

5.legend函数-图例说明函数(图形右上位置)

  • 作用: 对图例进行相关注释与说明
  • legend(‘自定义语句’);

代码及仿真图

figure;      %幕布函数      %以正弦,余弦函数为例x=0:0.01:2*pi;      %函数自变量范围 以及频率0.01y=sin(x);    %函数表达式plot(y,'r');title('sin(x)函数仿真图');  %title图形函数xlabel('x/采样点');  %xlabel-x轴说明函数ylabel('y=sin(x)');  %ylabel-y轴说明函数text(pi/2,0.5,'y=sin(x)');  %text-图形说明函数legend('正弦函数');  %legend-图例说明函数axis([0,2*pi/0.01,-1,1]);   %axis函数 自定义x轴 y轴范围

三.常用信号生成函数

1.zeros

  • 作用: 产生全零阵列
  • X=zeros(n); 产生N行N列的全0矩阵
  • X=zeros(m.n); 产生M行N列的全0矩阵

代码及仿真图

figure;    %幕布函数y=zeros(3);%zeros函数    %产生一个3行3列的全零矩阵stem(y);   %杆状图仿真title('3行3列的全零矩阵');

2.ones

  • 作用: 产生全1阵列
  • X=ones(n); 产生N行N列的全1矩阵
  • X=ones(m.n); 产生M行N列的全1矩阵

代码及仿真图

figure;    %幕布函数y=ones(3); %ones函数    %产生一个3行3列的全1矩阵stem(y);   %杆状图仿真title('3行3列的全1矩阵');


3.sinc-辛格函数

  • Y=sinc(x);
  • 关于辛格函数的相关解析:
  • sinc(x)与Sa(t)一致 (信号与系统领域)
  • ①归一化的sinc(x)
  • ②非归一化的sinc(x)
  • 在这里插入图片描述
  • 在这里插入图片描述
  • 即在数学领域sinc(x)与Sa(t)几乎一致
  • ③sinc函数是矩形脉冲的傅里叶变换

代码及仿真图

figure; %幕布函数x=-10:0.1:10;  %函数自变量范围 以及频率0.1y=sinc(x);     %函数表达式plot(y);%线状图仿真title('辛格函数sinc(x)');axis([0,20/0.1,-0.5,1.5]);   %x轴,y轴取值范围

4.rectpuls-矩形脉冲信号

  • 作用: 产生矩形脉冲信号
  • Y=rectpuls(T); 产生高度为1,宽度为1,关于T=0对称的矩形脉冲
  • Y=rectpuls(T,W);产生高度为1,宽度为W,关于T=0对称的矩形脉冲,该函数的横坐标范围由T来决定,由T=0向左右扩展,W为其产生高度为1的矩形脉冲的范围

代码及仿真图

T=-2:1:2;%T的取值范围 即其范围为[-2,-1,0,1,2]Y=rectpuls(T);  %矩形脉冲信号函数 即默认T=0时,产生高度为1,宽度为1的矩形脉冲信号

T=-4:1:4;  %T的取值范围 即其范围为[-4,-3,-2,-1,0,1,2,3,4]W=3;%脉冲信号的宽度 即其宽度为3Y=rectpuls(T,W);  %矩形脉冲信号函数 即产生一个以T=0为中心,向左右扩展,宽度为W的高度为1,宽度为1的脉冲信号plot(Y);   线状图仿真

补充:图形始终是以T=0时刻为基准产生一个高度为1的脉冲信号,宽度默认为1或者自定义为W,若T的范围覆盖不含0,则其结果均为0,同时在以宽度W为基准向左右扩展时,优先级为左大于右,即若W=2,则T=0时结果为1,其左边也由0变为1,若W=3,则其左右各由0变为1。

5.rand-伪随机序列

  • 作用: 产生伪随机序列
  • Y=rand(1,N); 产生[0,1]上均匀分布的随机序列
  • Y=randn(1,N); 产生均值为0,分差为1的白噪声序列

​6.sawtooth-周期锯齿波或三角波

  • Y=sawtooth(T); 产生幅度值为±1,以2π为周期的锯齿波
  • Y=sawtooth(T,width); 产生幅度值为±1,以2π为周期的锯齿波或三角波,width决定每个周期内波峰处于周期的相对位置

代码及仿真图

T=0:0.01:10*pi;      %采样范围及采样间隔Y=sawtooth(T);%周期锯齿或三角波函数plot(T,Y); axis([0,10*pi -1 1]);title('周期锯齿或三角波函数sawtooth');

T=0:0.01:10*pi;%采样范围及采样间隔Y=sawtooth(T,0.5);    %此时width=0.5,即波峰位于每个周期正中间plot(T,Y);    axis([0,10*pi -1 1]);title('周期锯齿或三角波函数sawtooth');

7.square-方波

  • Y=square(T); 产生幅度值为±1,以2为周期的方波
  • Y=square(T,duty); 产生幅度值为±1,以占空比为duty的方波

代码及仿真图

T=0:0.01:4*pi;     %采样范围及采样间隔Y=square(T);%周期方波函数squareplot(T,Y);  %线状图仿真axis([0 4*pi -1 1]);      %自定义x轴 y轴范围title('周期方波函数square');

T=0:0.01:4*pi;     %采样范围及采样间隔Y=square(T,25);    %周期方波函数square 占空比为25(25%) 即幅度为1的部分占周期的25%plot(T,Y);  %线状图仿真axis([0 4*pi -1 1]);      %自定义x轴 y轴范围title('周期方波函数square');

8.fliplr-序列左右翻转

  • 作用: 使序列关于中心对称左右翻转
  • Y=fliplr(X);

代码及仿真图

X=[1,2,3,4,5,6]; %序列XY=fliplr(X);     %序列左右翻转函数   %序列[1,2,3,4,5,6]中心对称翻转为[6,5,4,3,2,1]

9.cumsum,sum-计算序列累加

  • Y=sum(x);
  • Y=cumsum(x); 向量x元素累加,记录每一次的累加结果,而sum函数只记录最后结果

代码及仿真图

X=[1,2,3,4,5,6];  %序列XY=sum(X);  %sum函数 只记录并输出最后一次结果Z=cumsum(X);      %cumsum函数 记录并输出每一次累加结果

写在最后


本篇技术手册全篇内容均为原创,对内容的解析为在查阅多方资料后的自身理解,读者大大如有不懂或发现任何问题欢迎在评论区提出或者私聊指正(评论必看 私信必回)

同时这篇文章是我MATLAB技术手册专题的第一部,后续内容将会逐渐涉及其余的一些函数介绍,函数与序列的时频域转换与仿真,傅里叶变换原理及信号的调制与解调等内容

敬请期待~~~

下期预告


MATLAB function自定义函数说明

MATLAB 实现信号的四则运算 时间变换 卷积运算