Subtracting 2 matrices of different dimensions

1 visualización (últimos 30 días)
RDG
RDG el 29 de Ag. de 2013
a{1}=[1 3 4 5;
3 3 4 5;
5 5 4 5
2 4 2 6;
6 5 2 6
7 2 3 1;]
[b,idx]=unique(a{1}(:,3:4),'rows','stable');
uniquematrix{1}=a{1}(idx,:)
1 3 4 5 %Content of uniquematrix{1}
2 4 2 6
7 2 3 1
After a{1}-uniquematrix{1}
3 3 4 5 %My desired output
5 5 4 5
6 5 2 6
Is there a function to directly perform a{1}-uniquematrix{1}?

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 29 de Ag. de 2013
a=[1 3 4 5;
3 3 4 5;
5 5 4 5
2 4 2 6
6 5 2 6
7 2 3 1]
[b,idx]=unique(a(:,3:4),'rows','stable')
out=a(setdiff(1:size(a,1),idx),:)

Más respuestas (1)

Azzi Abdelmalek
Azzi Abdelmalek el 29 de Ag. de 2013
a=[1 3 4 5;
3 3 4 5;
5 5 4 5
2 4 2 6
6 5 2 6
7 2 3 1]
[b,idx]=unique(a(:,3:4),'rows','stable')
uniquematrix=a(idx,:)
n1=size(a,1)
n2=size(uniquematrix,1)
uniquematrix=[uniquematrix;zeros(n1-n2,size(a,2))]
out=a-uniquematrix

Categorías

Más información sobre Programming 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!

Translated by