作业帮 > 综合 > 作业

产生一个周期方波,并计算其傅立叶系数,画出频谱分析图.求指导Matlab代码问题出在哪里?

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/06/06 23:15:25
产生一个周期方波,并计算其傅立叶系数,画出频谱分析图.求指导Matlab代码问题出在哪里?
T=1;w=2*pi/T; %设置信号的周期 T=1,w 为基波角频率
step=T/500; %设置时间步长
t=0:step:T; %设置时间向量
x=square(t*2*pi);
subplot(2,1,1);
plot(t,(x+1)/2);
axis([0,1,-0.5,1.5]);
for k=1:10
a(k)=trapz(t,x.*exp(-1i*k*w*t))/T;
a(k)=abs(a(k));
end
a0=trapz(t,x)/T;
n=[0:10];
A=a0*(n==0)+2*a.*(n>0);
subplot(2,1,2);
stem(n,A);
xlabel('ommiga/ommiga_0');
ylabel('A')
运行结果:In an assignment A(I) = B,a matrix A cannot be resized.
Error in fangbo (line 9)
a(k)=trapz(t,x.*exp(-1i*k*w*t))/T;
产生一个周期方波,并计算其傅立叶系数,画出频谱分析图.求指导Matlab代码问题出在哪里?
clear;clc;clf;  T=1;w=2*pi/T;  step=T/1000;  t=0:step:T;  x=square(2*pi*t)*0.5+0.5;  n=[0:10];  a0=trapz(t,x)/T;  A(1)=a0;   for k=1:10      a(k)=trapz(t,x.*exp(-j*k*w*t))/T;      a(k)=abs(a(k));      A(k+1)=2*a(k);       end   subplot(1,1,1);stem(n,A);axis([0,10,-0.2,1.2]); 大概没有A(0)这种东西