Convert numerical Matrix values into logical Matrix

6 visualizzazioni (ultimi 30 giorni)
Hi...im very new to Matlab,but was hoping i could get an answer to this....If i have a Matrix of N x M, of a set of values like below.How do i get a new logical Matrix.The logical values correspond to the column number,which are also the A values.
input
A = [1 3 4 9 12
2 5 6 9 11
1 4 5 10 12]
output 1 2 3 4 5 6 7 8 9 10 11 12
1 0 1 1 0 0 0 0 1 0 0 1
0 1 0 0 1 1 0 0 1 0 1 0
1 0 0 1 1 0 0 0 0 1 0 1
Thank you.

Risposta accettata

Stephen23
Stephen23 il 17 Dic 2021
Modificato: Stephen23 il 17 Dic 2021
A = [1,3,4,9,12;2,5,6,9,11;1,4,5,10,12]
A = 3×5
1 3 4 9 12 2 5 6 9 11 1 4 5 10 12
X = any((1:12)==permute(A,[1,3,2]),3)
X = 3×12 logical array
1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1
M = [1:12;+X]
M = 4×12
1 2 3 4 5 6 7 8 9 10 11 12 1 0 1 1 0 0 0 0 1 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 0 1 0 1

Più risposte (0)

Categorie

Scopri di più su Operating on Diagonal Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by