Bonjour,
J'ai un problème en utilisant un de mes codes que je croyais bon jusque-là mais qui s'avère en fait problématique ! Le voici :
Je vous explique le fonctionnement de ce code : il prend en paramètre un vecteur colonne, que j'appelle valeurs_Im1_liquide, par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 function R=deb_fin(valeurs_Imp1_liquide) LL=diff(valeurs_Imp1_liquide); L3=find(LL>1); fin=valeurs_Imp1_liquide(L3); fin(numel(L3)+1)=valeurs_Imp1_liquide(end); debut(2:numel(L3)+1)=valeurs_Imp1_liquide(L3+1); debut(1)=valeurs_Imp1_liquide(1); debut; fin; R=[debut', fin', (fin'-debut')+1]; A=0;
Il renvoie dans R les segments de longueur 1 et leur durée, soit donc ici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part valeurs_Imp1_liquide=[998 ; 1000 ; 1001];
car 998 est un "segment" de longueur 1 : [998 998] et [1000 1001] est un segment de longueur 2. Mais cela ne marche pas toujours, par exemple avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 R= 998 998 1 1000 1001 2
Je devrais avoir :
Code : Sélectionner tout - Visualiser dans une fenêtre à part valeurs_Imp1_liquide=[998 ; 1000 ; 1002];
Mais à la place j'ai un message d'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 R= 998 998 1 1000 1000 1 1002 1002 1
A l'aide du debug mode je vois bien que le problème vient des vecteurs debut et fin qui ne sont plus tous les deux en ligne, car fin de façon incompréhensible est devenue une colonne et donc R ne peut-être écrit ! Je ne comprends pas pourquoi mais j'ai besoin que le code marche à tous les coups, sauriez-vous m'aider ???? Error using ==> minus Matrix dimensions must agree. Error in ==> deb_fin at 10 R=[debut', fin', (fin'-debut')+1];
Partager