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; %刷新幕布
二.绘图修饰命令简介及实例
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 实现信号的四则运算 时间变换 卷积运算