MATLAB Answers

Determine less than in for loop

10 views (last 30 days)
I have a problem with my for loop. I would like to determine if a value in the loop is less than the previous value and then change the value if so.
for ii = (1:length(sz));
z(ii);
if z(ii+1) < z(ii)
z = 180-z;
end
z
end
I get the error "Index exceeds the number of array elements (7)." at the if statement.
i know what it means but can not see a way to avoid it.

Accepted Answer

Mathieu NOE
Mathieu NOE on 10 Sep 2021
hello
does that reflect what you wanted to do ?
clc
clearvars
% x = round(100*rand(1,10));
x = [11 96 0 77 82 87 8 40 26 80];
z = x ;
for ii = (1:length(z)-1) % change the last iteration value : length(z)-1 and not length(z)
% z(ii);
if z(ii+1) < z(ii)
% z = 180-z; % this will modify the entire z vector
z(ii+1) = 180-z(ii+1); % this will modify the current z value only (my guess)
end
% z
end

More Answers (0)

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!