Extending the number of terms in a specific sequence.
1 view (last 30 days)
Show older comments
Hello all,
Im trying to add a larger number of terms to the sequence labeled as 'Base' in the code below and display them together however my extended sequence doesnt match as closely to the base form as i was expecting, would it be possible for someone to verify if i've done it correctly / point out errors in my code?
T = 1;
w = 2*pi*(1/T);
t = linspace(0 , 3*T, 1000);
max_harmonics = 11;
Base = zeros(size(t));
Base = sin(w*t) - (1/9)*sin(3*w*t) + (1/25)*sin(5*w*t) - (1/49)*sin(7*w*t);
Base = Base + (1/(9.^2))*sin(9*w*t) - (1/(11.^2))*sin(11*w*t);
synth_f1 = zeros(size(t));
for n = 3:4:max_harmonics
synth_f1 = synth_f1 - (1/(n*n))*sin(n*w*t) + (1/((n+2).^2))*sin(n*w*t);
end
synth_f1 = sin(w*t) + synth_f1;
plot(t, synth_f1, 'r-', t, Base, 'b--' );
0 Comments
Answers (1)
per isakson
on 25 Dec 2020
Edited: per isakson
on 25 Dec 2020
A copy&paste mistake:
synth_f1 = synth_f1 - (1/(n*n))*sin(n*w*t) + (1/((n+2).^2))*sin((n+2)*w*t);
% ^^^^^
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!