search content in table

4 visualizaciones (últimos 30 días)
VISHNU DIVAKARAN PILLAI
VISHNU DIVAKARAN PILLAI el 10 de En. de 2022
Editada: Campion Loong el 12 de En. de 2022
i have a table name 'dcode'
d={':';'M';'D';'MD';'A';'AM';'AD';'AMD'};
d_address={'000';'001';'010';'011';'100';'101';'110';'111'};
dcode=table(d,d_address);
i would like access the equivalent value of 'D' in column 1 from column 2 .
( if i search the value for D i need to get ans as 010 from column 2)
can u please help me how to do it.
thanks in advance

Respuesta aceptada

Geoff Hayes
Geoff Hayes el 11 de En. de 2022
@VISHNU DIVAKARAN PILLAI - you could try something like
dcode.d_address(strcmp(dcode.d,'D'))
where we use strcmp to return a logical array of zeros and ones where a one will indicate a match (i.e. identical to 'D"). This logical array will then be used to determine the value of the second column whose first column value matches to 'D'.

Más respuestas (1)

Campion Loong
Campion Loong el 12 de En. de 2022
Editada: Campion Loong el 12 de En. de 2022
If you are always using the values of d as a 'key' to look up other table variables, I would use straightly use d as the table's RowNames:
d_address=string([0;1;10;11;100;101;110;111]);
d_address = pad(d_address,3,"left",'0')
d_address = 8×1 string array
"000" "001" "010" "011" "100" "101" "110" "111"
% note I replace ':' with '::' as ':' is a reserved subscripting character
d=["::";"M";"D";"MD";"A";"AM";"AD";"AMD"];
dcode=table(d_address,'RowNames', d');
dcode('D',:)
ans = table
d_address _________ D "010"

Categorías

Más información sobre Tables en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by