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

 Risposta accettata

Jan
Jan il 17 Ago 2020
Modificato: Jan il 18 Ago 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 Commenti

Welcome back!
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Centro assistenza e File Exchange

Tag

Richiesto:

il 17 Ago 2020

Modificato:

Jan
il 18 Ago 2020

Community Treasure Hunt

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

Start Hunting!

Translated by