finde some maximum values of matrix without collision!!!!
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hi, i have 4*6 random matrix and i want to select a maximum value of each rows, but the problem is, before selecting the max value of each rows it looks to orginal index of previous row’s maximum value!!! and if it’s in the same place it go for 2nd maximum value and select it. and do this 4 time.
0 comentarios
Respuestas (2)
Rik
el 2 de Oct. de 2018
I suspect there is a better way with the sort function, but I can't come up with now. This should work.
data=rand(4,6);
maxlist=zeros(size(data,1),1);
temp_data=data;
for n=1:numel(maxlist)
current_row_max=max(temp_data(n,:));
temp_data(ismembertol(temp_data,current_row_max))=NaN;
maxlist(n)=current_row_max;
end
2 comentarios
Bruno Luong
el 3 de Oct. de 2018
A = ceil(5*rand(4,6))
B = A;
m = size(B,1);
c = zeros(m,1);
maxA = zeros(m,1);
r = (1:m)';
for i=1:m
[maxA(i),c(i)] = max(B(i,:));
if (i < m)
B(i+1,c(i)) = -Inf;
end
end
% 3-column array: row column and value
[r,c,maxA]
0 comentarios
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!