How to reshape matrix without repeating values of matrix?

2 ビュー (過去 30 日間)
SANDEEP SINGH RANA
SANDEEP SINGH RANA 2022 年 1 月 6 日
Hi, For example we have a matrix 4 x 2 and we have to rearrange matrix such that
columns
rows 2 5 % 2 can pair with any below value except 5 or 5 can pair with any value except 2
4 3 % 4 can pair any value below except 3 and above pair
1 6 % 1 can pair with any below value except 6 and above pairs
7 8 % 7 can pair with any below value except 8 and above pairs ( as in this case only one value will be
remains)
This logic should work on any [] x 2 matrix.
Thanks and Regards,
Sandeep

採用された回答

KSSV
KSSV 2022 年 1 月 6 日
A = [2 5
4 3
1 6
7 8];
[m,n] = size(A) ;
iwant = zeros(m,m) ;
iwant(:,1) = A(:,1) ;
for i = 1:m
idx = setdiff(1:m,i) ;
iwant(i,2:end) = A(idx,2)' ;
end
iwant
iwant = 4×4
2 3 6 8 4 5 6 8 1 5 3 8 7 5 3 6
  3 件のコメント
KSSV
KSSV 2022 年 1 月 6 日
I gave you all the options possible...pick any randmoly...easy:
A = [2 5
4 3
1 6
7 8];
[m,n] = size(A) ;
iwant = zeros(m,2) ;
iwant(:,1) = A(:,1) ;
for i = 1:m
idx = randsample(setdiff(1:m,i),1) ;
iwant(i,2) = A(idx,2) ;
end
iwant
iwant = 4×2
2 8 4 8 1 5 7 5
SANDEEP SINGH RANA
SANDEEP SINGH RANA 2022 年 1 月 6 日
In this matrix, 2 is pair with 8 and 4 is also pairing with 8. This is not required.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrices and Arrays についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by