How to find index of non-alternate matrix elements?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Megha
el 25 de Dic. de 2018
Comentada: Megha
el 26 de Dic. de 2018
i have two matrices say,
clear; close all; clc;
A = [1 3 5 7 9 11 13]; % nx1 matrix
B = [2 4 6 8 10 12 14]; % mx1 matrix
C = [A,B];
C = C';
D = sort(C);
This gives me matrix 'D' with elements from both A and B alternately.
However, if my matrix changes a bit in between like
clear; close all; clc;
A = [1 3 7 9 11 13]; % nx1 matrix
B = [2 4 6 8 10 12 14]; % mx1 matrix
C = [A,B];
C = C';
D = sort(C);
Then my matrix D with not have continuous alternate values from both matrix.
How can i find the index of this discontinuity, each time when the value repeats?
The final matrix D should have continuously increasing values.
3 comentarios
Walter Roberson
el 25 de Dic. de 2018
Looks to me as if you should be considering
D = reshape([A;B], 1, []);
Stephen23
el 25 de Dic. de 2018
@Walter Roberson: except in the second example A and B have different numbers of elements.
Respuesta aceptada
Andrei Bobrov
el 25 de Dic. de 2018
A = [1 3 7 9 11 13];
B = [2 4 6 8 10 12 14];
C = {A(:);B(:)};
M = [cell2mat(C),repelem([1;2],cellfun(@(x)numel(x),C))];
S = sortrows(M,1);
idx_out = find([false;diff(S(:,2))==0]);
Más respuestas (0)
Ver también
Categorías
Más información sobre Matrix Indexing 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!