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

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?

 採用された回答

Jos (10584)
Jos (10584) 2014 年 3 月 17 日

0 投票

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]

その他の回答 (1 件)

Roger
Roger 2014 年 3 月 17 日

0 投票

is there a way like dictionary in struct

1 件のコメント

Walter Roberson
Walter Roberson 2014 年 3 月 17 日
[tf, k] = ismember('GYA', station.name);
if tf
disp(station.Jingdu(k))
else
disp('no match')
end

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeStructures についてさらに検索

タグ

質問済み:

2014 年 3 月 17 日

コメント済み:

2014 年 3 月 17 日

Community Treasure Hunt

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

Start Hunting!

Translated by