云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 《机械工程测试技术》MATLAB仿真实验指导书

《机械工程测试技术》MATLAB仿真实验指导书

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 20:23:44

程序运行

在MATLAB命令窗口键入CTFSdbfb,按回车键;命令窗口出现:

please Input所需展开的最高谐波次数NF=?,本例输入NF=60,即可绘出周期方波信号的频谱。

题目2、已知周期方波脉冲信号如下图所示,其幅度为?1,周期T=5.

使用MATLAB编程绘出该周期信号的频谱。

参考程序:

% 周期三角波双边脉冲频谱

function [A_sym,B_sym]=CTFSsjbshb(T,Nf)

% 采用符号计算求[0,T]内时间函数的三角级数展开系数。 % % % %

函数的输入输出都是数值量

% Nf

Nn A_sym B_sym

谐波的阶数

输出数据的准确位数

第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

syms t n k y T=5;

if nargin<4;Nf=input('plear Input 所需展开的最高谐波次数:');end T=5;

if nargin<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)); for k=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 if nargout==0

S1=fliplr(A_sym) %对A_sym阵左右对称交换 S1(1,k+1)=A_sym(1) %A_sym的1*k阵扩展为1*(k+1)阵

S2=fliplr(1/2*S1) %对扩展后的S1阵左右对称交换回原位置 S3=fliplr(1/2*B_sym) %对B_sym阵左右对称交换 S3(1,k+1)=0 %B_sym的1*k阵扩展为1*(k+1)阵

S4=fliplr(S3) %对扩展后的S3阵左右对称交换回原位置 S5=S2-i*S4; %用三角函数展开系数A、B值合成付立叶指数系数 S6=fliplr(S5); %对付立叶指数复系数S6阵左右对称交换位置 N=Nf*2*pi/T;

k2=-N:2*pi/T:N; %形成-N:N的变量

S7=[S6,S5(2:end)]; %形成-N:N的付立叶指数对称复系数 subplot(3,3,3)

x=sjb_timefun(t,T) %调用连续时间函数-周期三角波脉冲 T=5;t=-2*T:0.01:2*T; 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

%------------------------------------------- function y=time_fun_s(t)

% 该函数是CTFSsjbshb.m的子函数。它由符号变量和表达式写成。 syms a a1 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);

%------------------------------ function x=sjb_timefun(t,T)

% 该函数是CTFSsjbshb.m的子函数。它由三角波脉冲函数写成。 T=5;t=-2*T:0.01:2*T; x=sawtooth(t-2*T/3,0.5);

程序运行

在MATLAB命令窗口键入CTFSsjbshbd,按回车键;命令窗口出现:

please Input所需展开的最高谐波次数NF=?,本例输入NF=60,即可绘出周期方波信号的频谱。

  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

程序运行 在MATLAB命令窗口键入CTFSdbfb,按回车键;命令窗口出现:please Input所需展开的最高谐波次数NF=?,本例输入NF=60,即可绘出周期方波信号的频谱。 题目2、已知周期方波脉冲信号如下图所示,其幅度为?1,周期T=5.使用MATLAB编程绘出该周期信号的频谱。 参考程序: % 周期三角波双边脉冲频谱 function [A_sym,B_sym]=CTFSsjbshb(T,Nf) % 采用符号计算求[0,T]内时间函数的三角级数展开系数。 % % % % 函数的输入输出都是数值量 % Nf Nn A_sym B_sym

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com