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

Integration using matlab

  1. Mar 25, 2008 #1
    Hi everyone, I have a problem in finding an integral of a function. I'm given the following function: x(t) = t + 1 (-1 <= t < o ); e^-t (0<= t <= 2); 0 (otherwise).I have to find the integral and plot it with its derivative and the given function.

    Here is my code:
    %Set up integral vector
    u(1:1000) = 0;
    %Find the integral
    for n = 1:999;
    if( (t(n)>= -1) & (t(n)<0) );
    u(n) = 0.5.*(t.^2) + t;
    if ( (t(n)>=0) & (t(n)<2) );
    u(n) = -1.*(exp(-t));
    if( (t(n)>2 ) )
    u(n) = 1.*t;

    I get the following error when trying to run the code:
    ??? In an assignment A(I) = B, the number of elements in B and
    I must be the same.

    Error in ==> tut1 at 32
    u(n) = 0.5.*(t.^2) + t;
  2. jcsd
  3. Mar 26, 2008 #2
    In these three lines
    Code (Text):

         u(n) = 0.5.*(t.^2) + t;
          u(n) = -1.*(exp(-t));
          u(n) = 1.*t;
    you are trying to store a vector in a scalar's place. u(n) is a scalar and t is a vector, so change t to t(n) and you will be fine. Also, be sure to define t properly (don't see it in your code), e.g. t = linspace(-1,2,1000).
  4. Apr 6, 2011 #3
    i have 1 question
    how do i apply 1/s in simulink block to M-code,
    for example
    Xdot to X
    in simulink, we just apply the 1/s(integration block).
    so i just want to know, is it possible to integrate the Xdot to X in m code??
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook