Help about foor loops.
2 views (last 30 days)
Show older comments
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?
0 Comments
Accepted Answer
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))
0 Comments
More Answers (1)
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.
0 Comments
See Also
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!