Need help plotting Fourier series in matlab

  • MATLAB
  • Thread starter BigDave11
  • Start date
  • #1
9
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?

[tex] y=\sum_{n=1}^\infty (3sin(2∏nx))/(n∏)[/tex]
 

Answers and Replies

  • #2
kreil
Insights Author
Gold Member
668
67
Here is some quick and dirty code to plot this over the domain [itex]-2\pi \le x \le 2\pi[/itex] 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
    22 KB · Views: 534
  • 2.jpg
    2.jpg
    39.3 KB · Views: 507
  • #3
9
0
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:
  • #4
Dr Transport
Science Advisor
Gold Member
2,485
608
linspace(-2*pi, 2*pi, N) gives N evenly spaced points.
 
  • #5
9
0
Wow just realised the equation must be wrong as it tends to 0 as n tends to infinity which should not happen.
 
  • #6
kreil
Insights Author
Gold Member
668
67
So where did you derive the equation from? It sounds like you need to start over.
 
  • #7
9
0
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
 

Related Threads on Need help plotting Fourier series in matlab

Replies
1
Views
6K
  • Last Post
Replies
7
Views
3K
Replies
1
Views
2K
  • Last Post
Replies
3
Views
78K
  • Last Post
Replies
3
Views
1K
  • Last Post
Replies
4
Views
83K
  • Last Post
Replies
0
Views
6K
  • Last Post
Replies
2
Views
6K
  • Last Post
Replies
2
Views
2K
Replies
4
Views
26K
Top