Voila mon petit probleme,
J'ai actuellement deux courbes qui se dessines, j'aimerai pouvoir trouver, a l'aide de Matlab, l'abscisse minimum ou maximum entre deux moments donnes. Avez vous une petite idee pour y parvenir ?
merci de votre attention !
Voila mon petit probleme,
J'ai actuellement deux courbes qui se dessines, j'aimerai pouvoir trouver, a l'aide de Matlab, l'abscisse minimum ou maximum entre deux moments donnes. Avez vous une petite idee pour y parvenir ?
merci de votre attention !
Pour ta recherche de minimum ou de maximum :
http://www.developpez.net/forums/sho...d.php?t=318289
dans matlab chaque courbe, fonction est représenter par une matrice, pour touver les min ou les max et leur coordonées;
A est ta matrice[C,I] = max(A)
C c'est la valeur du max
I est l'indice de ce dernier,
idem pour le min
exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 A=[3 4 5 54654 6 7 43543 7] [C,I] = max(A); C = 6 7 43543 54654 I = 2 2 2 1
NB: fait attention a la dispotition de ta matrice
bon courge
Oui d'accord je peu utiliser la fonction max, mais le probleme c'est que je souhaiterai trouver la valeur max entre deux moments ( pas sur tout le vecteur ) et ça je n'ai pas trouvé
Il faut utiliser la fonction MAX, non pas sur l'ensemble du vecteur, mais uniquement sur les éléments d'intérêt.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 V=rand(1,10) V(3:7) max(V(3:7))
voila , c a d tu crées un nouvelle image , une nouvelle matrice dont ces elements sont ceux que tu as choix ( compris between deux moment)
bon courageAautre=A(a1:a2,a3:a4) % A matrice original et complete
% tq a1 a2 sont les indices du debut et de la fin de la ligne que tu souhaite selectionner et idem pour a3 et a4 pour la colonnes, en suite tu fait comme on a cité au paravant
je n'ai pas été assez explicite je suis désolé.
J'ai un code du typeIl me faudrait simplement le maximum pour un "t" compris entre 10 et 13 par exemple.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 t=0:1/60:20 V=5*t+2;
Bah comme l'a dit DutMatlab :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 t=0:1/60:20; V=5*t+2; [max_ord,max_abs] = max(V(10:13))
Pas exactement, neoscanx veut le maximum pour les valeurs de t compris entre 10 et 13 et non pas le maximum entre la dizième et la treizième valeur de t. Donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 t=0:1/60:20; V=5*t+2; idx=find(t>10 & t<13); % ou (>=) et (<=) ? [Vmax,I]=max(V(idx)); figure p=plot(t,V,'b-',t(idx),V(idx),'g+',t(idx(I)),V(idx(I)),'rs'); legend(p,{'V' 'V pour 10<t<13' 'Vmax pour 10<t<13'})
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager