Why the third else if condition.. where i==1 && j==m went unexecuted

2 次查看(过去 30 天)
A=zeros(12,1);
n=3;
m=4;
for i=1:n
for j=1:m
if (i==1) && (j==1)
A(1,1)=1;
elseif (i==1) && (j>1 || j<m)
A(2,1)=2;
elseif (i==1) && (j==m)
A(3,1)=3;
end
end
end
A

采纳的回答

Cris LaPierre
Cris LaPierre 2020-8-17
You want the third condition to execute the i==1 and j==4. However, this also meets the conditions of the first elseif:
elseif (i==1) && (j>1 || j<m)
This is because you use "or" instead of "and". When j==4, it is >1. Because of the or, it doesn't matter that it is <m. Try this instead: elseif (i==1) && (j>1 && j<m)

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Modeling 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by