how can obtain min of matrix
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
1 comentario
Matz Johansson Bergström
el 25 de En. de 2015
Editada: Matz Johansson Bergström
el 26 de En. de 2015
Please write the question in text and not as a attached image. The description of your question will not be indexed by the Mathworks search engine if you provide an image.
Respuestas (5)
Matt J
el 26 de En. de 2015
[row,col]=find(matrix==min(nonzeros(matrix)));
2 comentarios
Matz Johansson Bergström
el 26 de En. de 2015
Ah nonzeros , didn't even know it existed. This is the shortest and best solution and should be accepted as the answer. Good job Matt.
Matz Johansson Bergström
el 25 de En. de 2015
Editada: Matz Johansson Bergström
el 25 de En. de 2015
This solution is maybe a little ugly, but it works Say that A is the matrix.
tmp = A; %we will destroy elements, so we store A in tmp
tmp(tmp==0) = []; %get rid of 0-elements
val = min(min(tmp)); %find value of the smallest element
[u,v] = find(A==val, 1); %find the position
u and v is the (first) row and column of the index of the smallest element in A. The smallest element could occur several times in the matrix.
0 comentarios
David Young
el 25 de En. de 2015
Editada: David Young
el 26 de En. de 2015
Another approach:
tmp = A; % avoid destroying A
tmp(tmp == 0) = Inf; % make zero elements bigger than non-zeros
[minVal, minIndex] = min(tmp(:)); % find min value, linear index
[minRow, minCol] = ind2sub(size(A), minIndex); % convert to subscripts
or if you prefer
tmp = A;
tmp(tmp == 0) = Inf; % as above
[colminvals, colminrows] = min(tmp); % find min in each column
[minVal, minCol] = min(colminvals); % find overall min and its column
minRow = colminrows(minCol); % select row of overall min
or my personal preferred method, avoiding copying the matrix and also avoiding a repeat scan with the find operation:
nzpos = A ~= 0;
indexes = 1:numel(A);
indnz = indexes(nzpos);
[minVal, minIndnz] = min(A(nzpos));
[minRow, minCol] = ind2sub(size(A), indnz(minIndnz));
0 comentarios
sara
el 26 de En. de 2015
Editada: sara
el 26 de En. de 2015
2 comentarios
Image Analyst
el 26 de En. de 2015
I deleted my answer. Is there not any "Accept this answer" link for any of the others?
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!