1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Problems integrating in a for loop in Matlab

  1. Dec 30, 2011 #1

    ryan.j

    User Avatar
    Gold Member

    Problems integrating in a "for" loop in Matlab

    My problem strikes me as embarrassingly simple, so hopefully someone can set me straight with ease.

    I'm writing a Matlab code in which I'll be wanting to do a good amount of integrating of products of various eigenfunctions. Presently, I'm just trying to get the code up and running and can't seem to get a basic "for" loop to function as I'd expect.

    I'd expect that it would populate an array called "spatial" with seven elements, each of which is an integral of a cosine raised to a given power.

    Instead, it creates a singly-valued variable called "spatial" and then stops. For what it's worth, the value that it assigns is what I'd expect for the first execution of that loop.

    Here is the exact code giving me this grief:

    moments = 7;
    a = 11;
    lambda = pi/a;

    for C1 = 1,moments

    integrand = @(x)(cos(lambda*x).^(C1+1))
    spatial(C1) = quad(integrand,-a/2,a/2)

    end


    Any help would be greatly appreciated.
    Thank you kindly.
    -ryan
     
  2. jcsd
  3. Jan 1, 2012 #2
    Re: Problems integrating in a "for" loop in Matlab

    I am not a Matlab programmer, but would

    Code (Text):
    for C1 = 1:moments
    work better?
     
  4. Jan 1, 2012 #3

    ryan.j

    User Avatar
    Gold Member

    Re: Problems integrating in a "for" loop in Matlab

    I appreciate the help, but the syntax I've listed is the equivalent Matlab "translation" of the C++/FORTRAN loop syntax.
     
  5. Jan 2, 2012 #4
  6. Jan 2, 2012 #5

    ryan.j

    User Avatar
    Gold Member

    Re: Problems integrating in a "for" loop in Matlab

    Wow. I'm laughing at myself. Thank you kindly. A case of plain and simple space cadetery on my part. ". . .Embarrassingly simple. . ." doesn't do justice to this one.

    Sincerely, thanks for taking the time.
    -ryan
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Problems integrating in a for loop in Matlab
Loading...