I need to map a binary array to 2 differnet values corresponding to 0 & 1
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
A= zeros(320,320); A(60:180,60:180)=1;
lets say I wanna make all 1's = 2+3i and all 0's equals to 8-4i.
What would be the syntax to map them to corresponding values. Thanks
0 Kommentare
Akzeptierte Antwort
dpb
am 29 Jun. 2018
Bearbeitet: dpb
am 30 Jun. 2018
One of a zillion ways...
C=complex(2*ones(size(A)),3*ones(size(A)));
C(C==0) = 8-4i;
Another less "deadahead" but one-liner...
C=interp1([0 1],[8-4i 2+3i],A,'nearest');
ADDENDUM
A variation on the latter is simple lookup...requires the temporary vector, though.
v=[8-4i 2+3i]; % the values
C=v(A+1); % convert logical to array indices
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Data Type Conversion finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!