Nested if statement not perusing all if statements

matrixA = rand(100,2)
matrixB = zeros(100,1)
a= 78.6
b = 90.6
c = 99.5
d = 156.1
for i = 1:100
if matrixA(i,2) < 0
matrixB(i,1) = i/a*i
else if matrixA(i,1) >=0 <= a
matrixB(i,1) = b/c
else if matrixA(i,1) > a <= b
matrixB(i,1) = a/d*5
else if matrixA(i,1) > c <=d
matrixB(i,1) = a*d*c
else if martixA(i,1) >d
matrixB(i,1) = 78/b*d
end
end
end
end
end
end
I cant get the code to peruse through all the else if statements. It will only peruse the first else if statement then skip the rest.

 채택된 답변

Mischa Kim
Mischa Kim 2015년 6월 25일
편집: Mischa Kim 2015년 6월 25일
Justin, almost there...
for i = 1:100
if matrixA(i,2) < 0
matrixB(i,1) = i/a*i
elseif matrixA(i,1) >=0 && matrixA(i,1) <= a
matrixB(i,1) = b/c
elseif matrixA(i,1) > a && matrixA(i,1) <= b
matrixB(i,1) = a/d*5
elseif matrixA(i,1) > c && matrixA(i,1) <= d
matrixB(i,1) = a*d*c
elseif martixA(i,1) > d
matrixB(i,1) = 78/b*d
end
end
  • elseif is one word.
  • Two conditions (e.g. range of values) need to be combined with a logical &&

추가 답변 (0개)

카테고리

질문:

Jay
2015년 6월 25일

댓글:

Jay
2015년 6월 25일

Community Treasure Hunt

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

Start Hunting!

Translated by