Les Allergies
Alimentaires
Posez votre question Signaler

Fonction max() sous matlab svp [Résolu]

mat - Dernière réponse le 26 nov. 2008 à 19:47
bonjour a tous
j'ai une question pour l'utilisation de max() sous matlab
qd on a une matrire genre :

A= 1
0
1
1
1
0
0
1
0

si je tapes [I J]=max(A) il va me retourner I=1 et J=1 c'est a dire la premiere ligne J du maximum rencontrée (car plusieurs valeurs maximales) et moi je voudrai au contraire qu'il me renvoit la derniere valeur de la ligne ou il y a 1 a savoir I=1 et J=8

emerci bcp
a bientot
Lire la suite 

Fonction max() sous matlab svp »

Suggestions
2 réponses
Réponse
+1
moins plus
A=[1;0;1;1;1;0;0;1]; % Définition de ta matrice
M = max(A); % Valeur maximale de A (en l'occurence 1)
Position = []; % Matrice vide
j = 1;

disp(' ')
for i = 1:length(A) % Boucle parcourant chaque élément de A
if A(i,1) == M % Si un élément de A = max(A), alors il le place dans une autre matrice
Position(j) = i; % Cette matrice-là
j=j+1;
fprintf('Un maximum de A se trouve à la %d ième position.\n',i)
end
end

fprintf('La derniere position du maximum est: %d\n', Position(end)) % VOiula.
Ajouter un commentaire
Réponse
+1
moins plus
Salut

Ah ben on pourra dire qu'il l'aura attendue longtemps sa réponse nandediou ! 4 ans... :-D
J'espère qu'il a résolu son problème depuis le temps...
Menfin... la réponse pourra resservir à d'autres...

En utilisant l'indexation logique, c'est un peu plus compact :
max_loc = (1:size(A,1));
max_loc = max_loc(A==max(A));
display(['Indices des valeurs maximales de A : ', num2str(max_loc)]);
display(['Indice de la dernière valeur maximale de A : ', num2str(max_loc(end))]);
Bonne soirée
Ajouter un commentaire
Ce document intitulé « fonction max() sous matlab svp » 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 ?