How do I compare two large matrices?
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Premal
el 13 de Sept. de 2014
Respondida: Roger Stafford
el 13 de Sept. de 2014
Hi I'm new to matlab and was wondering how to compare two matrices
Basically I have one matrix that is 950x49 and one that is 950x1 I want to compare the two matrices to bring back the 10 closest values of each column of x that is compared with y, into a new matric 'new'. If anyone could please help, it would greatly be appreciated!
2 comentarios
Respuesta aceptada
Rick Rosson
el 13 de Sept. de 2014
Editada: Rick Rosson
el 13 de Sept. de 2014
N = size(x,2);
u = ones(1,N);
d = abs(x - y*u);
v = sort(d);
z = v(1:10,:);
Más respuestas (1)
Roger Stafford
el 13 de Sept. de 2014
Just modify Rick's code a bit:
m = 10;
[~,p] = sort(abs(bsxfun(@minus,x,y)),2);
new = zeros(size(x,1),m);
for i = 1:N
new(i,:) = x(i,p(i,1:m));
end
0 comentarios
Ver también
Categorías
Más información sobre Logical 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!