struct and cell ,is there a way like dictionary in struct

6 Ansichten (letzte 30 Tage)
Roger
Roger am 17 Mär. 2014
Kommentiert: Walter Roberson am 17 Mär. 2014
if true
end
station = struct(...
'name', {'CD2','GYA','LZH','GOM','XAN'},...
'Jingdu',{103.76 ,106.66,103.84,94.81,108.92},...
'Weidu',{30.91, 26.46, 36.09, 36.20, 34.03});
p={'CD2','GYA','LZH','GOM','XAN'};
now i pick one from p,how can i get the one 's Jingdu?

Akzeptierte Antwort

Jos (10584)
Jos (10584) am 17 Mär. 2014
You mean something like this?
station = struct(...
'name', {'CD2','GYA','LZH','GOM','XAN'},...
'Jingdu',{103.76 ,106.66,103.84,94.81,108.92},...
'Weidu',{30.91, 26.46, 36.09, 36.20, 34.03});
p={'CD2','GYA','LZH','GOM','XAN'};
K = 2 ; % pick one
TF = strcmp({station.name}, p{K}) % true when station.name equals p{K}
Result = [station(TF).Jingdu]

Weitere Antworten (1)

Roger
Roger am 17 Mär. 2014
is there a way like dictionary in struct
  1 Kommentar
Walter Roberson
Walter Roberson am 17 Mär. 2014
[tf, k] = ismember('GYA', station.name);
if tf
disp(station.Jingdu(k))
else
disp('no match')
end

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Structures finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by