MATLAB Need help plotting Fourier series in matlab

AI Thread Summary
The discussion revolves around a user seeking assistance with plotting a Fourier series in MATLAB. They present a specific equation, y = Σ(3sin(2πnx)/(nπ)), and share initial MATLAB code intended to plot this function over the interval -2π to 2π for n up to 10,000. The user expresses uncertainty about the output, questioning whether the use of linspace() to generate points might be problematic. They later realize that the equation may be incorrect, as it tends to zero as n approaches infinity, which contradicts the expected behavior of a Fourier series. The user reflects on the origin of the equation, indicating it was a simple example meant for educational purposes, and expresses concern about potentially misunderstanding the concept of Fourier series.
BigDave11
Messages
9
Reaction score
0
Hi all my first post as I need to seek help!

I have just learned some simple Fourier series stuff and would like to be able to plot my answers in matlab.

Assuming this is correct I was wondering if someone would be able to walk me through plotting this equation in Matlab?

y=\sum_{n=1}^\infty (3sin(2∏nx))/(n∏)
 
Physics news on Phys.org
Here is some quick and dirty code to plot this over the domain -2\pi \le x \le 2\pi for n up to 10,000

Code:
%Use linspace() for the domain, it generates 100 evenly spaced points over
%a specified interval
x = linspace(-2*pi,2*pi);

%Define your function anonymously with two variables, X and N
y = @(X,N) (3./N*pi)*sin(2*pi*N*X);

%Loop through the n values and evaluate the function over the domain x for
%each value of n. Store those values in the rows of Y such that the first
%row of Y is n=1, the second is n=2, etc...
for n = 1:10000
Y(n,:) = y(x,n);
end

%Plot all rows of Y
figure;
plot(x,Y)

%Plot the summation over n
figure(2);
plot(x,sum(Y))

See the plots in the attached files.
 

Attachments

  • 1.jpg
    1.jpg
    21.9 KB · Views: 721
  • 2.jpg
    2.jpg
    37.8 KB · Views: 689
Maybe it is the linespace that is the problem is there a way to evenly space more than 100 points in the domain?

edit: no come to think of it I don't think this will help do you know why this doesn't resemble a Fourier series?
 
Last edited:
linspace(-2*pi, 2*pi, N) gives N evenly spaced points.
 
Wow just realized the equation must be wrong as it tends to 0 as n tends to infinity which should not happen.
 
So where did you derive the equation from? It sounds like you need to start over.
 
yeh it was a simple example used to teach me about Fourier series. I thought would be fun to see how the series works out but I fear I may have done it wrong

f(x)=3 ; 0<x<1
=-3 ; -1<x<0

Sorry about the formatting still new to me
 

Similar threads

Replies
1
Views
2K
Replies
1
Views
2K
Replies
1
Views
2K
Replies
2
Views
3K
Replies
22
Views
4K
Replies
1
Views
7K
Back
Top