Help about foor loops.

3 views (last 30 days)
peri
peri on 19 Oct 2011
Hey, i have a small problem with a program i am writing in an mandatory task.
I am suppose to find the maximum value of one elemt minus the other elemt in a row vector, and do this for each element.
so far i have done this:
a = [2 8 9 5 4 9 7 6];
for j = 2:8
c = max(a(j-1) , a(j));
disp = c
end
What i further wish, is to make a new vector consisting of each of these maximums elements. How would i do that?

Accepted Answer

Laura Proctor
Laura Proctor on 19 Oct 2011
You can do this without using a FOR loop - keep it vectorized. I think that the following code achieves the results you're seeking:
c = max(a(1:end-1),a(2:end))

More Answers (1)

Steffen
Steffen on 1 Nov 2011
The fast fix of your code (without removing the for loop)
c(j) = max(a(j-1) , a(j));
Inside the loop c will always be assigned the result of the last iteration of the loop. If you want to have a vector of the results you have to use indexing for the result vector as well.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!