Why won't it go through the ifelse statement when the if statement isn't satisfied?

1 次查看(过去 30 天)
A= zeros(3,10);
A(1,:,:)=[1:10];
B=.5+rand(1,10)*.4;
A(2,:,:)=B;
C=round(1+rand(1,10)*7);
A(3,:,:)= C;
A
team_A= zeros(3,5);
team_B= zeros(3,5);
for d=[1:1:10]
j=10;
k=9;
if rem(d,2)==1;
for e=[1:1:j]
if A(2,e,:)== max(B)
p=e;
team_A(:,2,:)=A(:,p,:);
A(:,p)=NaN;
end
end
elseif rem(d,2)==0
for f=[1:1:k]
if A(2,f,:)== max(C)
i=f;
team_B(:,2,:)=A(:,i,:);
A(:,i)=NaN;
end
end
end
j=j-2;
k=k-2;
end

采纳的回答

Roger Stafford
Roger Stafford 2015-2-17
编辑:Roger Stafford 2015-2-17
It is highly unlikely that any random element in the second row of A would happen to be exactly equal to the maximum integer of the third row in the line
if A(2,f,:)== max(C)
The odds are one in a thousand million million or thereabouts. For that reason it is equally unlikely that the 'elseif' would ever lead to a change in team_B.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by