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

Interpreting Matlab function simp

  1. Feb 27, 2013 #1
    Hello, guys

    Hey guys,

    Got stuck with function integration using Simpson's rule and need your help.

    Please first refer to picture attached for full idea of my question:

    The Matlab command related to it is:

    for i=1:nr

    u1d(i)=4.0*pi*r(i)^2*u(it,i)

    end

    I1=simp(0.0,r0,nr,u1d)/(4.0/3.0*pi*r0^3)

    I1 is

    nr=21

    r0=1.0;

    Does it mean that I1 is integrated 21 times between boundaries 0 and r0?
     

    Attached Files:

    • 2.jpg
      2.jpg
      File size:
      36.9 KB
      Views:
      55
  2. jcsd
  3. Feb 27, 2013 #2

    kreil

    User Avatar
    Gold Member

    Can you post more information? The code you posted references variables that you never define. Make it so that your code block can be copy/pasted into matlab.
     
  4. Feb 27, 2013 #3
    Yes. Sure

    I have attached all commands with order from Pic.1 to Pic.3
     

    Attached Files:

  5. Feb 27, 2013 #4

    kreil

    User Avatar
    Gold Member

    simp() is not a matlab function, so the information about the input arguments is not available in the documentation. I suggest looking at the function file for simp() to find this info.
     
  6. Feb 27, 2013 #5

    kreil

    User Avatar
    Gold Member

    EDIT: I found information about this function in the MATLAB file exchange.

    Code (Text):
    function s = simp(f, a, b, h)
    x1 = a + 2 * h : 2 * h : b - 2 * h;
    sum1 = sum(feval(f, x1));
    x2 = a + h : 2 * h : b - h;
    sum2 = sum(feval(f, x2));
    s = h / 3 * (feval(f, a) + feval(f, b) + ...
               2 * sum1 + 4 * sum2);
    It appears that the inputs are:

    f=function, a=initial value, b=end value, h=interval size
     
    Last edited: Feb 27, 2013
  7. Feb 27, 2013 #6
    I have found it as separate m.file. Here are the commands:

    function uint=simp(xl,xu,n,u)
    h=(xu-xl)/(n-1);
    uint(1)=u(1)-u(n);
    for i=3:2:n
    uint(1)=uint(1)+4.0*u(i-1)+2.0*u(i);
    end
    uint=h/3.0*uint;
    But why here different variables are used such as xl and xu?

    It seems to me that we use r in integration?
     
  8. Feb 27, 2013 #7

    kreil

    User Avatar
    Gold Member

    At a glance it looks like

    xl = beginning of interval
    xu = end of interval
    n = number of slices
    u = function

    So in your case of
    Code (Text):
    I1=simp(0.0,r0,nr,u1d)
    You are integrating u1d from 0 to r0 with nr intervals
     
  9. Feb 28, 2013 #8
    So you mean simp can be uniformly used for every type of variable assuming their correct order?
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook




Similar Discussions: Interpreting Matlab function simp
  1. MATLAB function (Replies: 2)

  2. Matlab function (Replies: 1)

  3. Matlab functions (Replies: 0)

  4. Matlab functions (Replies: 0)

  5. MATLAB function (Replies: 1)

Loading...