Fonction max() sous matlab svp
Résolu
mat
-
pttbrune -
pttbrune -
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
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
A voir également:
- Max matlab
- Driver max - Télécharger - Pilotes & Matériel
- I14 pro max - Accueil - Guide téléphones
- Max ou netflix - Accueil - Streaming
- Kidicom max appareil photo ne fonctionne plus - Forum Téléphones & tablettes Android
- Réinitialiser kidicom max ✓ - Forum Téléphones & tablettes Android
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.
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;