yhkn.net
当前位置:首页 >> 如何用mAtlAB画出方波 >>

如何用mAtlAB画出方波

只有快速的fft,没有傅立叶变换,因为matlab上本身就是离散点.不存在直线的冲击函数~

周期性矩形波(方波)信号:在MATLAB中用square函数来表示,其调用形式为 y=square(t,DUTY) 其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分

width=2;t=-2:0.001:3;ft=rectpuls(t,width);plot(t,ft);grid on;ylim([-0.5 1.5])

间隔太大了,你把0去掉a = time(find(time~=0))b = rin(find(rin~=0))plot(a,b)这样就能看到了.

用示波器看就可以了

周期方波信号可以用ones()和zeros()命令做出来 频谱图就用fft()命令做傅里叶变换,之后再处理一下就行了 具体不多解释,给个程序样例:(为了省点事,这里采用的是rectpuls函数输出一个矩形脉冲) t=-20:20; w=10; y=rectpuls(t,w); %矩形脉冲信号 yy=fft(y); %傅里叶变换 n=size(y); n=n(2); %宽度 fy=abs(fft(y))/n*2; %得到频谱 subplot(2,1,1) plot(y); subplot(2,1,2) plot(fy); 输出见图.

用matlab的simulink(控制系统仿真),直接建立模型就可以了,我现在也没装matlab,你自己试试不难的

clc; clear; close all; ts=0.005; t=0:ts:1;%t的取值范围为0到1,间隔0.005取一个点 fs=1/ts; N=length(t); y0=square(10*pi*t);%产生一个5Hz的方波 h=cumtrapz(t,y0);%积分产生三角波 z0=h.*y0;%用方波截取 t=t+0.05; y1=square(10*pi*t);%产生延

for t = 1:800 if t>=0&t<300; y(t)=0; elseif t>=300&t<=500; y(t)=1; else t>500&t<=800; y(t)=0; endend 不知道你为什么要用ify = zeros(1,800);y(300:499) = 1;

一、在MATLAB中用square函数来表示,其调用形式为y=square(t,DUTY),其作用类似于sin(t),用以产生一个时长为t、幅值为±1的周期性方波信号,其中的DUTY参数表示占空比,即在信号的一个周期中正值所占的百分比.例如频率为30Hz

网站首页 | 网站地图
All rights reserved Powered by www.yhkn.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com