《机械工程测试技术》MATLAB仿真实验指导书.docx
- 文档编号:14749393
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:13
- 大小:282.51KB
《机械工程测试技术》MATLAB仿真实验指导书.docx
《《机械工程测试技术》MATLAB仿真实验指导书.docx》由会员分享,可在线阅读,更多相关《《机械工程测试技术》MATLAB仿真实验指导书.docx(13页珍藏版)》请在冰点文库上搜索。
《机械工程测试技术》MATLAB仿真实验指导书
机械工程测试技术
MATLA仿真实验指导书
院系单位:
机电工程学院
指导教师:
实验一MATLAB基本应用
一、实验目的
1、学习MATLAB勺基本用法;
2、了解MATLAB的目录结构和基本功能。
二、实验内容:
题目1、已知x的取值范围,画出y=sin(x)的图型。
参考程序:
x=0:
0.05:
4*pi;
y=sin(x);
plot(y)
题目2、已知z取值范围,x=sin(z);y=cos(z);画三维图形参考程序:
z=0:
pi/50:
10*pi;
x=sin(z);
y=cos(z);
plot3(x,y,z)
xlabel('x')
ylabel('y')
zlabel('z')
题目3、已知x的取值范围,用subplot函数绘图。
参考程序:
x=0:
0.05:
7;
y1=sin(x);y2=1.5*cos(x);y3=sin(2*x);
y4=5*cos(2*x);
subplot(2,2,1),plot(x,y1),title('sin(x)')
subplot(2,2,2),plot(x,y2),title('1.5*cos(x)')
subplot(2,2,3),plot(x,y3),title('sin(2*x)')
subplot(2,2,4),plot(x,y4),title('5*cos(2*x)')
连续信号的MATLA表示
题目4、指数信号:
指数信号Aeat在MATLAB中可用exp函数表示,
其调用形式为:
y=A*exp(a*t)(例取A=1,a=-0.4)
参考程序:
A=1;a=-0.4;
t=0:
0.01:
10;
ft=A*exp(a*t);
plot(t,ft);gridon;
题目5、正弦信号:
正弦信号Acos(w0t+)和Asin(wOt+:
:
)分别由函数
cos和sin表示,其调用形式为:
A*cos(w0t+phi);A*sin(w0t+phi)
(例取A=1,w0=2二,=76)
参考程序:
A=1;w0=2*pi;phi=pi/6;
t=0:
0.001:
8;
ft=A*sin(wO*t+phi);
plot(t,ft);gridon;
题目6、抽样函数:
抽样函数Sa(t)在MATLAB中用sine函数表示,
其定义为:
sinc(t)=sin(「t)/(■t),其调用形式为:
y=sinc(t)
参考程序:
t=-3*pi:
pi/100:
3*pi;
ft=sinc(t/pi);
plot(t,ft);gridon;
题目7、矩形脉冲信号:
在MATLAB中用rectpuls函数来表示,其调
用形式为:
y=rectpuls(t,width),用以产生一个幅值为1,宽度为width,相对于t=0点左右对称的矩形波信号,该函数的横坐标范围由向量t决定,是以t=0为中心向左右各展开width/2的范围,width的默认值为1。
例:
以t=2T(即t-2T=0)为对称中心的矩形脉冲信号的
MATLAB源程序如下:
(取T=1)
t=0:
0.001:
4;
T=1;
ft=rectpuls(t-2*T,2*T);
plot(t,ft);gridon;axis([04-0.51.5]);
题目8周期性矩形波(方波)信号在MATLAB中用square函数来表示,其调用形式为:
y=square(t,DUTY)用以产生一个周期为2、幅值为-1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比。
例如频率为30Hz的周期性方波信号的MATLAB参考程序如下:
t=-0.0625:
0.0001:
0.0625;
-1.51.5]);gridon;
y=square(2*pi*30*t,75);
plot(t,y);axis([-0.06250.0625
实验二周期信号波形的合成与分解
、实验目的
学会使用MATLA观察方波信号的分解与合成
、实验内容
编制MATLA程序,仿真实现下图周期方波信号的分解与合成
plot(t,y,'c:
')
title('周期矩形波的形成-基波')
subplot(2,2,2)%在第二个子窗口画(基波+3次谐波)分量
plot(t,y1),holdony=1*sign(pi-t);
plot(t,y,'c:
')
title('周期矩形波的形成-基波+3次谐波')
subplot(2,2,3)%在第三个子窗口画(基波+3次谐波+5次谐波)分量
plot(t,y2),holdon
y=1*sign(pi-t);
plot(t,y,'c:
')
title('基波+3次谐波+5次谐波')
subplot(2,2,4)%S四个子窗口画(基波+3次谐波+5次谐波+7次谐波+9次谐波)
分量
plot(t,y3),holdon
y=1*sign(pi-t);
plot(t,y,'c:
')
title('-基波+3次谐波+5次谐波+7次谐波+9次谐波')
end
三、程序运行结果
*JFigureNs.1
FileEditVi刼葺輯~电TgqIeKalp
实验三典型信号频谱分析
、实验目的
用MATLAB分析周期方波脉冲、周期三角波脉冲的频谱。
、实验内容
题目1已知周期方波脉冲信号如下图所示,其幅度为1,脉冲宽度
“占空比”:
duty=1/2,周期T=5.使用MATLA编程绘出该
周期信号
-10
参考程序:
%周期方波脉冲及单边频谱
function[A_sym,B_sym]=CTFSdbfb(T,Nf,Nn)
%采用符号计算求[0,T]内时间函数的三角级数展开系数。
%
函数的输入输岀都是数值量
%
Nf
谐波的阶数
%
Nn
输出数据的准确位数
%
A_sym
第1元素是直流项,其后元素依次是
1,2,3...
次谐波cos项展开系数
%
B_sym
第2,3,4,...元素依次是1,2,3…
次谐波sin项展开系数
symstnky
T=5;
ifnargin<4;Nf=input('plearInput所需展开的最高谐波次数:
');end
T=5;
ifnargin<5;Nn=32;end
y=time_fun_s(t);
A0=2*int(y,t,0,T)/T;
As=int(2*y*cos(2*pi*n*t/T)/T,t,0,T);
Bs=int(2*y*sin(2*pi*n*t/T)/T,t,0,T);
A_sym
(1)=double(vpa(A0,Nn));
fork=1:
Nf
A_sym(k+1)=double(vpa(subs(As,n,k),Nn));
B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));endifnargout==0
%对A_sym阵左右对称交换
的1*k阵扩展为1*(k+1)阵
对扩展后的S1阵左右对称交换回原位置
对B_sym阵左右对称交换
的1*k阵扩展为1*(k+1)阵
对扩展后的S3阵左右对称交换回原位置
S1=fliplr(A_sym)S1(1,k+1)=A_sym
(1)%A_symS2=fliplr(1/2*S1)%S3=fliplr(1/2*B_sym)%S3(1,k+1)=0%B_symS4=fliplr(S3)%S5=S2-i*S4;
title('周期方波脉冲的单边频谱')axis([0,60,0,0.6])end
functiony=time_fun_s(t)
%该函数是CTFSdbfb.m的子函数。
它由符号变量和表达式写成。
symsaa1
T=5;a=T/2;
y1=sym('Heaviside(t)')*2-sym('Heaviside(t-a1)');y=y1-sym('Heaviside(t+a1)');
y=subs(y,a1,a);
y=simple(y);
%
functionx=squ_timefun(t,T)
%该函数是CTFSdbfb.m的子函数,它由方波脉冲函数写成。
%t是时间数组
%T是周期duty'占空比':
信号为正的区域在一个周期内所占的百分
T=5;t=-2*T:
0.01:
2*T;duty=50;
x=square(t,duty);
程序运行
在MATLA命令窗口键入CTFSdbfb,按回车键;命令窗口出现:
pleaseInput所需展开的最高谐波次数NF二?
本例输入NF=6Q即可
绘出周期方波信号的频谱。
题目2、已知周期方波脉冲信号如下图所示,其幅度为_1,周期T=5.
使用MATLAB^程绘出该周期信号的频谱。
-10010
参考程序:
%周期三角波双边脉冲频谱
function[A_sym,B_sym]=CTFSsjbshb(T,Nf)
%采用符号计算求[0,T]内时间函数的三角级数展开系数。
%
函数的输入输岀都是数值量
%
Nf
谐波的阶数
%
Nn
输出数据的准确位数
%
A_sym
第1元素是直流项,其后元素依次是
1,2,3...
次谐波cos项展开系数
%
B_sym
第2,3,4,...元素依次是1,2,3…
次谐波sin项展开系数
symstnky
T=5;
ifnargin<4;Nf=input('plearInput所需展开的最高谐波次数:
');end
T=5;
ifnargin<5;Nn=32;end
y=time_fun_s(t);
A0=2*int(y,t,0,T)/T;
As=int(2*y*cos(2*pi*n*t/T)/T,t,0,T);
Bs=int(2*y*sin(2*pi*n*t/T)/T,t,0,T);
A_sym
(1)=double(vpa(A0,Nn));
fork=1:
Nf
A_sym(k+1)=double(vpa(subs(As,n,k),Nn));
B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));end
ifnargout==0
plot(t,x)
title('连续时间函数-周期三角波脉冲')axis([-10,10,-1,1.2])
line([-10,10],[0,0])subplot(3,1,3),
stem(k2,abs(S7));%画出周期三角脉冲的频谱(脉宽a=T/2)title('连续时间函数周期三角脉冲的双边幅度谱')
axis([-80,80,0,0.25])
end
%functiony=time_fun_s(t)
%该函数是CTFSsjbshb.m的子函数。
它由符号变量和表达式写成。
symsaa1
T=5;a=T/2;
y1=sym('Heaviside(t+a1)')*(2*t/a1+1)+sym('Heaviside(t-a1)')*(2*t/a1-1);y=y1-sym('Heaviside(t)')*(4*t/a1);
y=subs(y,a1,a);
y=simple(y);
%
functionx=sjb_timefun(t,T)
%该函数是CTFSsjbshb.m的子函数。
它由三角波脉冲函数写成。
T=5;t=-2*T:
0.01:
2*T;
x=sawtooth(t-2*T/3,0.5);
程序运行
在MATLA命令窗口键入CTFSsjbshbd,按回车键;命令窗口出现:
pleaseInput所需展开的最高谐波次数NF二?
本例输入NF=6Q即可绘出周期方波信号的频谱。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械工程测试技术 机械工程 测试 技术 MATLAB 仿真 实验 指导书
![提示](https://static.bingdoc.com/images/bang_tan.gif)