Posez votre question Signaler

Boucle for dans boucle if matlab [Résolu]

skiron 3Messages postés 4 novembre 2010Date d'inscription 4 novembre 2010Dernière intervention - Dernière réponse le 4 nov. 2010 à 11:46
Bonjour,
Je souhaiterais faire une boucle for ou while dans une boucle if. Au moment de mon elseif, j'ai une erreur (illegal use of keyword elseif). Ca me fait la meme chose lorsque j'utilise switch et case (au 2e case: "illegal use of keyword case").
Merci.
if byte==0
bit=0;
while bit<=7 %les bits 1 et 2 sont à utiliser ensemble
if bit==0 | bit==3 | bit==4 | bit==5 | bit==6
mask=bitget(mask,bit); %on recupere le bit choisi
inuages=find(mask == 0); %on cherche les indices pr lesquels le bit=0
else if bit==1
mask1=bitget(mask,bit);
mask2=bitget(mask,bit+1);
inuages=find(mask1 == 0 & mask2 == 0);
end
mask=mask*0;
mask(inuages)=1; %on met à 1 les indices ou le bit=0 (ie y a nuage)
mask_grid=matref*NaN;
for i=1:prod(S_modis)
mask_grid(iind_modis(i),jind_modis(i))=mask(i); %on grille le mask
end
ind_cloud_ok=find(mask_grid~=1); %indices pr lesquels y a nuage
dTB_mask_grid=matref*NaN;
dTB_mask_grid(ind_cloud_ok)=dTB_grid(ind_cloud_ok); %on inclue le mask sur TB amsr
bit=bit+1;
end
elseif byte==3,
bit=0;
while bit<=1 % seuls les 2 premiers bits sont "pleins"
mask=bitget(mask,bit);
inuages=find(mask == 0);
mask=mask*0;
mask(inuages)=1;
mask_grid=matref*NaN;
for i=1:prod(S_modis)
mask_grid(iind_modis(i),jind_modis(i))=mask(i);
end
ind_cloud_ok=find(mask_grid~=1);
dTB_mask_grid=matref*NaN;
dTB_mask_grid(ind_cloud_ok)=dTB_grid(ind_cloud_ok);
bit=bit+1;
end
end
Lire la suite 

Boucle for dans boucle if matlab »

1 réponses
Réponse
+0
moins plus
C'est bon, j'ai trouvé mon erreur, j'ai mis "else if" et pas "elseif" dans mon code.
Ajouter un commentaire
Ce document intitulé « boucle for dans boucle if matlab » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?