# Determine less than in for loop

조회 수: 5(최근 30일)
댓글: Mathieu NOE 2021년 9월 10일
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.

댓글을 달려면 로그인하십시오.

### 채택된 답변

Mathieu NOE 2021년 9월 10일
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
##### 댓글 수: 2표시숨기기 이전 댓글 수: 1
Mathieu NOE 2021년 9월 10일
My pleasure

댓글을 달려면 로그인하십시오.

R2019b

### Community Treasure Hunt

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

Start Hunting!