why elseif (i==1) && j==m condition went unexecuted?

A=zeros(12,1);
n=3;
m=4;
for i=1:n
for j=1:m
if i==1 && j==m
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
A

 Réponse acceptée

Jan
Jan le 17 Août 2020
Modifié(e) : Jan le 18 Août 2020
The condition "i==1 && j==m" appears twice:
if i==1 && j==m % First time
A(1,1)=1;
elseif (i==1) && (j>1 || j<m)
A(2,1)=2;
elseif (i==1) && (j==m) % Second time
A(3,1)=3;
end
If the first condition is met already, further elseif branches are not called anymore. The if block is left directly after the first condition is matching and the corresponding block was executed.

2 commentaires

Stephen23
Stephen23 le 17 Août 2020
Welcome back!
Jan
Jan le 18 Août 2020
Hi Stephen, I thought I give it a try. I still cannot unaccept an answer in Firefox, post an image or remove a flag. The auto-editing inserts an "end" if I type an "if". Most likely I have to accept to be tracked by 13 services including facebook, bing, s3.amazonaws and ads-twitter to use Matlab Answers with its full functionality.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Tags

Question posée :

le 17 Août 2020

Modifié(e) :

Jan
le 18 Août 2020

Community Treasure Hunt

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

Start Hunting!

Translated by