How to find index of non-alternate matrix elements?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2018-12-25
Looks to me as if you should be considering
D = reshape([A;B], 1, []);
Stephen23
2018-12-25
@Walter Roberson: except in the second example A and B have different numbers of elements.
采纳的回答
Andrei Bobrov
2018-12-25
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]);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!