Bonjour à tous,
J'ai un problème qui m'embête et je me demande si je peux ou dois faire appel à try catch pour le résoudre. Pour vous expliquer, j'ai une certaine fonction qui à la fin me sort deux matrices Dref et Fref qui sont toutes deux constituées de trois vecteurs colonnes et qui sont de même taille, par exemple pour Dref:
Dans la même fonction j'ai besoin d'analyser ces deux matrices Dref et Fref afin de supprimer certaines lignes si des conditions sont remplies et sinon de les conserver telles quelles :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Dref= 1000 1000 10001 2000 2002 20003
Mais je ne suis pas sur de l'écrire correctement : déjà je voudrais tester si Dref a plus d'une ligne, c'est pourquoi je pensais écrire if(size(Dref,1)) ; si cette condition est vérifiée je fais la différence par lignes deux à deux avec diff et je stocke les résultats dans X et Y. Ensuite, je recherche s'il y a des 0 dans la première colonne de X (et par conséquent de Y étant donnée la forme particulière de Dref et Fref dans ma fonction) et s'il y a des 0 je veux simplement enlever les lignes correspondantes sur Dref et Fref. Voilà mais si ces conditions ne sont pas remplies, Dref et Fref doivent être laissés intact. Comment pourrais-je faire,éventuellement avec try catch ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 if(size(Dref,1)>1) X=diff(Dref); Y=diff(Fref); X1=find(X(:,1)==0); if(numel(X1)>0) Dref(X1,:)=[]; Fref(X1,:)=[]; end
Partager