对这几个函数进行合成是怎么样的波形图

img

img

img


为什么我得出的波形很奇怪,是不是程序哪里有问题?请求改正指出

你的0.1cos(w0*t)那个,本来就该是那样,因为最终是若干个余弦函数的叠加,而高频的在周期处不断叠加,导致仅周期处的幅值急剧增加,其它地方只有部分可能叠加,远不如周期处,因而出现若干峰
f1

clc;clear
T = 1;
t = linspace(0,T,10000);
triang = zeros(size(t));
max_harmonics = 10;
a = zeros(1, max_harmonics+1);
b = a;
synth_triang = zeros(size(t));
for i = 1:max_harmonics
    % synth_triang = synth_triang + (-1)^(i-1)/(2*i-1)^2*sin((2*i-1)*2*pi*1/T*t); % f1
    synth_triang = synth_triang + 0.1*cos(i*2*pi*1/T*t); % f2
    synth_triang = synth_triang + 0.1*cos(i*2*pi*1/T*t); % f2
end
t = linspace(0, 10*T,10*10000);
triang = repmat(triang, 1, 10);
synth_triang = repmat(synth_triang, 1, 10);
plot(t, triang, 'b-', t, synth_triang, 'r--')

f2

clc;clear
T = 1;
t = linspace(0,T,10000);
triang = zeros(size(t));
max_harmonics = 30;
a = zeros(1, max_harmonics+1);
b = a;
synth_triang = zeros(size(t));
for i = 1:max_harmonics
    synth_triang = synth_triang + 0.1*cos(i*2*pi*1/T*t); % f2
end
t = linspace(0, 10*T,10*10000);
triang = repmat(triang, 1, 10);
synth_triang = repmat(synth_triang, 1, 10);
plot(t, triang, 'b-', t, synth_triang, 'r--')

f3

clc;clear
T = 1;
t = linspace(0,T,10000);
triang = zeros(size(t));
max_harmonics = 100;
a = zeros(1, max_harmonics+1);
b = a;
synth_triang = sin(2*pi*1/T*t);
for i = 1:max_harmonics
    synth_triang = synth_triang - 4/(4*i^2-1)/pi*cos(2*i*2*pi*1/T*t); % f3
end
t = linspace(0, 10*T,10*10000);
triang = repmat(triang, 1, 10);
synth_triang = repmat(synth_triang, 1, 10);
plot(t, triang, 'b-', t, synth_triang, 'r--')

img

img


这个波形怎么是正弦波形