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

Homework Help: MATLAB Help - Comparing values/Indexing

  1. Mar 18, 2010 #1
    1. The problem statement, all variables and given/known data

    I am very, very new to MATLAB, and can't seem to figure out this seemingly simple problem.

    Given a t-array and a y-array for a decaying exponential function, my task is to find the first relative maximum in the graph without using Matlab's preset relative max. functions. I'm attempting to do this by comparing y-values at a certain "t" to y-values at "t0" and "t1" (before and after "t"). I'm using indexing, for loops, etc.

    2. Relevant equations


    3. The attempt at a solution

    function[max,t_max] = relMax(t,y)
    for i = 1:.001:length(t);
    y(:,i+1) = y;
    y0 = y(:,i);
    y1 = y(:,i+2);
    if (y0<y && y>y1)
    max = y;
    t_max = t;


    Clearly I am making some kind of stupid mistake here. I don't really know how to use indexing very well, and it's causing me problems.

    Thanks in advance!
    Last edited: Mar 18, 2010
  2. jcsd
  3. Mar 19, 2010 #2


    User Avatar

    Indexes must be integers. You should make your loop as
    for i = 1: length(t)

    0.001 is the increment in t, not in the index.
  4. Mar 19, 2010 #3
    Thank you! I figured out what I was doing wrong. :)
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook