Octaveで辞書(またはマップまたはハッシュテーブル)を作成してアクセスするにはどうすればよいですか? 私はいくつかの方法を試しましたが、おそらくもっと効率的な方法があります。私が試したことを示すコードは以下の通りです。これは、ここで提供.MATファイルからの入力を使用しています。 https://www.dropbox.com/s/4v1z1q04ivpgjvf/sample_input_dictionary.mat?dl=0Octaveで辞書(またはマップまたはハッシュテーブル)を作成およびアクセスする方法
% Methods to build/use a dictionary on Octave
clear
tic
load sample_input_dictionary.mat;
pkg load general
toc
% Dict-based dictionary, using the "general" package: very slow to access
d_dict = dict(nodes, num2cell(1:numel(nodes)));
toc
% Struct-based dictionary: slower to build, much faster to access
temp = [nodes', num2cell([1:numel(nodes)]')] .';
d_struct = struct(temp{:}); clear temp;
toc
% Is there an equivalent and more efficient cell-based dictionary?
% A different struct-based dictionary, which I could not build vectorially
t = struct();
for m=1:numel(nodes)
t.(nodes{m}) = edges{m};
end
toc
% Example of accessing the above dictionaries
d_dict('1234') % this takes forever
d_struct.('1234')
t.('1234')
いくつかのコードを示してください、何あなたがこれまでに試した、MCVE https://stackoverflow.com/を作成help/mcve – Andy
ありがとうございます。私はコードを追加しました。 – highalpha