Bonjour Pallas !
Je suis désolé si j'étais quelque peu à côté de la plaque alors. Cela dit, je suis vraiment content que tu aies apprécié les quelques explications des messages précédents et qu'ils t'aient servi pour résoudre ton problème. Ce fut un réel plaisir pour moi d'échanger avec toi aussi.
Je vais t'ennuyer encore quelques instants cependant, en espérant que tu liras ce dernier message tout de même. :-D
J'ai le souvenir que lorsqu'on débute en Matlab, il est assez difficile de connaître toutes les optons relatives à une fonction, il faut prendre le réflexe de bien consulter l'aide, etc... on en a pas toujours le temps ou l'envie lorsqu'un programme fonctionne correctement comme il est. Cependant, parfois, on code quelque chose qui est légèrement moins compact que cela pourrait l'être en utilisant au mieux les options des différentes fonctions, ce qui n'est pas un mal quelque fois cela dit, parce qu'à force de compacter, il arrive qu'on perde en lisibilité du programme.
Bref... tout cela pour dire que si j'ai bien compris ce que tu voulais faire cette fois (on peut toujours espérer), trois lignes suffisent pour faire ce que tu voulais je pense. Je ne sais pas s'il en est ainsi de ce que tu as écrit, cela dépend de la manière dont tu as utilisé
find. ;-)
Ces lignes devraient donc suffire pour enlever toutes les valeurs qui suivent la première valeur négative du vecteur
y et tracer sa courbe représentative en fonction de
x :
x(find(y<=0,1,'first'):end)=[];
y(find(y<=0,1,'first'):end)=[];
plot(x,y);
find(y<=0,1,'first') fournit l'indice de la première valeur négative de
y et à partir de cette indice jusqu'à la fin (
end), on enlève tout en remplaçant par une matrice vide. Peut-être ne suis-je pas complètement à l'ouest cette fois... :-D
Si un jour tu as de nouveau une question, totalement différente de celle de ce sujet, pense à ouvrir un nouveau sujet ; d'une part parce que je n'ai pas réponse à tout et d'autre part parce qu'on jette plus volontiers un petit coup œil aux sujets qui sont sans réponse plutôt qu'à ceux dans lesquels une personne est déjà intervenue et que si la personne qui t'avait répondu la première fois est absente, tu risques d'attendre une réponse très longtemps dans le "vieux" sujet que tu auras fait remonter. :-D
Cela dit, je ne t'apprends peut-être rien du tout si tu es plutôt habitué aux forums.
Voili, voilou...
Au plaisir et à bientôt peut-être ! ;-)
Bon dimanche !