Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Plotting series in Matlab

  1. Jun 23, 2012 #1
    I am going to plot two series in Matlab. They are as following. please help me to write the appropriate code for them:

    1-f(t)=(2/pi)+(4/pi)*Ʃ(1/(1-4*n^2))*cos(2*n*pi*t) -1≤t≤1 n=1 forN=200

    2-f(t)=(4/0.25^2)*Ʃ(sin(0.25*n*pi)/(n*pi)^2)*sin(n*pi*t) -2≤t≤2 n=1,3,5 forN=200
  2. jcsd
  3. Jun 23, 2012 #2

    Simon Bridge

    User Avatar
    Science Advisor
    Homework Helper

    Welcome to PF:
    You want to construct a vector for n, the use that and your formula to compute a vector of each element in the series.

    The complication appears to be that you have two variables: n and t.
    So you'll probably have to construct vectors for the different frequencies as well as the coefficients ... with the aim of ending up with a 2D matrix whose columns are the elements of the sum (corresponding to each n) and the rows are the functions at discrete samples (corresponding to values of t).

    Summing the columns provides a row vector whose entries are f(t) sampled for discrete values of t. Then you can plot(t,f).
  4. Jun 23, 2012 #3
    Could you please confirm the parentheses are correct in the two expressions? As written, I interpret the summation to be over n, ie {sum [1/(1-4*n^2)*cos(2*n*pi*t)] over n=1..200} but the expression 1 appears to be written as cos(2*n*pi*t)*{sum[1/(1-4*n^2)] over n=1..200} (et sim for 2).

    Do you want f as a function of t and variable n or just as a function of t with the specified range for n?
  5. Jun 23, 2012 #4

    Simon Bridge

    User Avatar
    Science Advisor
    Homework Helper

    I ust figured everything after the sigma was included in the sum.

    for 1.[tex]f(t)=\frac{2}{\pi} + \frac{4}{\pi} \sum_{n=1}^{200} \frac{\cos(2n\pi t)}{1-4n^2}[/tex]... and for 2.[tex]f(t)=64\sum_{n=1}^{200} \frac{\sin(\frac{n\pi}{4})}{(n\pi)^2}\sin(n\pi t)[/tex]

    I still think the strategy I've outlined is the way to go here - we should avoid actually providing the code though.
  6. Jun 24, 2012 #5
    That would be a possible solution.What if we do not consider sum command?
  7. Jun 24, 2012 #6
    In the second one n=1,3,5. everything else is right.
  8. Jun 24, 2012 #7
    Well, here's how it might be done in Mathcad.

    I have gut feeling (a colon sensation, one might say) that there is sum way of doing a similar thing in Matlab. I have a forboding that loops may occur to somebody, but they should probably be avoided.


    Attached Files:

  9. Jun 24, 2012 #8

    Simon Bridge

    User Avatar
    Science Advisor
    Homework Helper

    What exact steps you use are up to you - I have not suggested any exact code, just the mathematical structures you'd need to employ.

    Technically you don't even need a 2D matrix to store all the terms, you could use a different 1D vector for each of the 200 terms instead. The approach outlines is a "brute force" method - there will be more elegant approaches.

    Note: for the second one where n=1,3,5...200 (or is it n=1,3,5...399 for N=200 terms?)
    Anyway = in matlab you need only do the step, so all the odd numbers are n=1:2:199; for all the odd numbers from 1 to 200. Writing it out in sigma notation is trickier than that... I need to sum over integer m from 0 to 99 and n=2m+1 and it looks like:[tex]f(t)=64\sum_{n=1}^{200} \sin\left ( \frac{(2n-1)\pi}{4}\right ) \frac{\sin((2n-1)\pi t)}{((2n-1)\pi)^2}[/tex]... for the first 200 odd numbers.
    [One way matlab/octave is easier than pencil and paper :) ]

    Note - the mathcad notes look like what I was suggesting only using jargon.
    Last edited: Jun 24, 2012
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook