Fonction max() sous matlab svp
Résolu/Fermé
A voir également:
- Max matlab
- I14 pro max - Guide
- 6play max - Guide
- Max tv gratuit - Télécharger - Télévision
- Casino max community - Forum Facebook
- Darty max avis - Guide
3 réponses
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.
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.
Sacabouffe
Messages postés
9427
Date d'inscription
dimanche 19 août 2007
Statut
Membre
Dernière intervention
29 mai 2009
1 832
26 nov. 2008 à 19:47
26 nov. 2008 à 19:47
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 :
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
Bonjour,
J'ai une autre solution qui peut servir. Il suffit simplement d'inverser la matrice, comme ça le parcours de la matrice commence par la fin. Et comme tu connais la taille de ta matrice, tu connais l'indice final :
>> mat = [2 1 5 2 3 1 4 5 1 3 4 5 3];
>> matinv = mat(size(mat,2):-1:1);
>> [val ind] = max(matinv);
>> pos_final = size(matinv,2)-ind+1;
J'ai une autre solution qui peut servir. Il suffit simplement d'inverser la matrice, comme ça le parcours de la matrice commence par la fin. Et comme tu connais la taille de ta matrice, tu connais l'indice final :
>> mat = [2 1 5 2 3 1 4 5 1 3 4 5 3];
>> matinv = mat(size(mat,2):-1:1);
>> [val ind] = max(matinv);
>> pos_final = size(matinv,2)-ind+1;