绘制两个相同的功能,但看起来不同

时间:2018-06-04 13:02:21

标签: octave

我的学习项目有问题。 这里有 formulas我必须在Octave中实现。 首先称为FCzase,第二个是FSzereg。两者都应该给出相同的输出,但正如您在图上看到的here,它们是不同的。 FSzereg出了点问题。请有人帮助我找到我的错误吗?

U = 1;    #voltage
T = 0.1;    #period
f = 1/T;  #frequency
n = 30;   #number of samples
m = 30;  #number of components in Fourier function
F1 = 0;
F2 = 0;

t= -T/2: T/n :T/2 - T/n + 2*T;
w = 2*pi*f;

for i = 1 : n
  if t(i) < 0
    FCzasu(i) = -4*U*t(i)^2/T^2;
  else
    FCzasu(i) = 4*U*t(i)^2/T^2;
  endif
endfor

FCzasu = [FCzasu FCzasu FCzasu];

for i = 2 : m
  F1 = F1 + (-1)^(i-1) * sin(i*w*t)/i;
endfor
for i = 1 : 2*m : 2
  F2 = F2 + sin(i*w*t)/i^3;
endfor

FSzereg = (2*U/pi)*(sin(w*t) + F1) - (8*U/(pi^3))*F2;

FFTSzereg = abs(fft(FSzereg));
FFTCzasu = abs(fft(FCzasu));

k=0 : 1 : 3*n-1 ;
fre = k * f/3;

subplot(2,2,1)
plot(t, FCzasu)
xlabel('Czas [s]'); 
ylabel('Napiecie [V]')

subplot(2,2,2)
stem(fre, FFTCzasu,'.')
title('{\bf Widmo}');
grid on;
xlabel('Czestotliwosc [Hz]'); 
ylabel('Amplituda [V]')

subplot(2,2,3)
plot(t, FSzereg)
xlabel('Czas [s]'); 
ylabel('Napiecie [V]')

subplot(2,2,4)
stem(fre, FFTSzereg,'.')
title('{\bf Widmo}');
grid on;
xlabel('Czestotliwosc [Hz]'); 
ylabel('Amplituda [V]')

0 个答案:

没有答案