partial sum of a series
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
i have this function and i wrote the following code to calculate the Fourier coefficients
im just stuck with writing a loop which calculate the partial sum of the series till a given number N as well as Plotting the function and the corresponding partial sum (N = 12) on one figure.
can any one help?
3 Kommentare
Walter Roberson
am 6 Mai 2022
syms x
Pi = sym(pi);
f = 1/2*(sin(x) + abs(sin(x)))
X = linspace(-Pi, Pi);
F = double(subs(f, x, X));
plot(X, F)
fourier(f, x)
f2 = piecewise(x >= 0 & x <= 3*Pi/2, sin(x), zeros(size(x)))
F2 = double(subs(f2, x, X));
plot(X, F2)
fourier(f2)
sympref('HeavisideAtOrigin', 0);
f3 = (heaviside(x)-heaviside(x-3*Pi/2))*sin(x)
F3 = double(subs(f3, x, X));
plot(X, F3)
simplify(fourier(f3, x), 'steps', 10)
Interesting, it appears that you can get a closed formula -- though you have to work at it a bit.
Antworten (1)
Paul
am 6 Mai 2022
Bearbeitet: Paul
am 7 Mai 2022
Hi SSBGH,
To plot the function, we need a set of x-values to plot over.
As you've done, define the function and the CFS coefficients symbolically
syms x
syms n integer positive % missing from original code!
f = 1/2*(sin(x)+abs(sin(x)));
%%a0
% use sym(pi) when doing symbolic math
Pi = sym(pi);
a0_sym = (1/Pi)*int(f,x,-Pi,Pi); % this equation has been corrected
a_sym(n) = (1/Pi)*int(f*cos(n*x),x,-Pi,Pi)
b_sym(n) = (1/Pi)*int(f*sin(n*x),x,-Pi,Pi)
Now define the values of x to make the plot
xvals = -pi:.01:pi;
Now we loop over the CFS coefficients to sum them all up over all values of x
N = 12;
% intialize with a0
fr = double(a0_sym)/2;
for n = 1:N;
a = double(a_sym(n));
b = double(b_sym(n));
% at this point, fill in the RHS
fr = fr + ...
end
Now plot
plot(xvals,1/2*(sin(xvals) + abs(sin(xvals))),xvals,fr)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Calculus finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!