Matrix Manipulation code help

1 Ansicht (letzte 30 Tage)
Jab
Jab am 24 Feb. 2016
Bearbeitet: Stephen23 am 24 Feb. 2016
I have a training label for 3 different classes in a matrix of size 1*178 example t=[1 1 1 3 1 2 3 1 ... .....]. Anyone please help me to write an efficient code for generating a new matrix of size 3*178 where based on the value in "t", the corresponding location in columns should be 1.
for the above example. the output will be like the following matrix:
[1 1 1 0 1 0 0 1.... 0 0 0 0 0 1 0 0..... 0 0 0 1 0 0 1 0.....]

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 24 Feb. 2016
[t(:) == 1, t(:) == 2, t(:) == 3]

Weitere Antworten (1)

Stephen23
Stephen23 am 24 Feb. 2016
Bearbeitet: Stephen23 am 24 Feb. 2016
For a simple generalized solution use bsxfun:
>> t = [1 1 1 3 1 2 3 1]
>> bsxfun(@eq,(1:3).',t)
ans =
1 1 1 0 1 0 0 1
0 0 0 0 0 1 0 0
0 0 0 1 0 0 1 0

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by