1. Not finding help here? Sign up for a free 30min 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!

Help with MATLAB Numerical Integration

  1. Sep 22, 2010 #1
    First off, I know I can use the trapz or quad functions on matlab, but I want to derive my own numerical integration code.

    The problem is more complicated than this, but basically I need to be able to numerically integrate in matlab to continue with the homework assignment.

    If y = x^2 is the function of interest to be numerically integrated from 0 to 4, this is what I have so far:

    x_step = 0.1;

    x = 0:x_step:4;
    y = x.^2;
    y2 = (x.^3)/3;

    N = length(y)

    for i=1:N-1

    int_y(i) = ((y(i)+y(i+1))./2)*x_step %employing trapezoidal rule

    end

    plot(x,y), hold on, plot(x(1:N-1),y_int,'r'), hold on, plot(x,y2,'g') %just to see if i'm right

    It doesn't work. Any suggestions? Can anyone link me to the code for the trapz function for matlab? I looked for a little bit, but couldn't find it. I'm not sure if we can just use trapz, so just to be safe, I wanted to develop the code myself. I can take a numerical derivative pretty easily with matlab, so I don't understand why this won't work for me!

    Thanks for any help.
     
    Last edited: Sep 22, 2010
  2. jcsd
  3. Sep 22, 2010 #2
    I figured it out. I forgot to sum the integrations. This thread can be closed.

    For anyone interested:

    x_step = 0.01;

    x = 0:x_step:4;
    y = x.^2;
    y2 = (x.^3)./3;

    N = length(y);
    y3 = 0;
    for i = 2:N-1
    y3 = (y(i)+y(i+1))./2*x_step + y3;
    int_y(i) = y3;
    end


    plot(x,y), hold on, plot(x(1:N-1),int_y,'r'), plot(x,y2,'g')
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Help with MATLAB Numerical Integration
  1. Numerical Integration (Replies: 12)

Loading...