Filter löschen
Filter löschen

How Does This Short Code Work?

1 Ansicht (letzte 30 Tage)
Rightia Rollmann
Rightia Rollmann am 11 Mär. 2017
Bearbeitet: Stephen23 am 12 Mär. 2017
How is D calculated? Could you explain the steps that MATLAB takes to calculate D?
Is it only for logical values or can be extended to a wider range?
Is there any link to learn more about it?
A = [1; 1; 0; 0; 0; 0; 1];
C = {'w','b'};
D = C(1+A)
D =
'b' 'b' 'w' 'w' 'w' 'w' 'b'

Akzeptierte Antwort

Star Strider
Star Strider am 11 Mär. 2017
The ‘A’ matrix is a double precision numeric array, not a logical array. Your ‘C’ cell has 2 elements, 'w' and 'b' so ‘C(1)='w'’, and ‘C(2)='b'’. MATLAB indexing begins at 1, not 0, so it is necessary to add 1 to ‘A’ to correctly address the elements of ‘C’.
It can be extended, providing that either no element of ‘A’ is greater that 1, or that you add an appropriate number of elements to ‘C’ to allow for elements of ‘A’ that are greater than 1.
An appropriate link to learn more about it is in the documentation on Matrix Indexing.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing 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!

Translated by