関数 'subsindex'の未定義回避
1 次查看(过去 30 天)
显示 更早的评论
% エクセルからテーブルを作製する
Jisho = readtable('dictionary.xlsx','ReadRowNames',true);
%文字を指定し、その行と列を呼び出す
Chushutumoji='apple';
Shoukai = Jisho(Chushutumoji,2)
%%問題の部分
pic_index=table2struct(Shoukai)
A=subsindex(pic_index)
dispic=data_cell{A}
関数 'subsindex' は、クラス 'struct' の値に対して定義
されていません。
エクセルに入力したインデックス((1,1)など入力)を行列deta_cellに入力して出力したいと考えています。
しかし、subindexが未定義というエラーメッセージが発生してしまいます。
このメッセージを回避するにはどのような手段を取るべきなのでしょうか
2 个评论
Atsushi Ueno
2021-6-13
この質問の本質は「構造体のpic_indexにおいてsubindexをオーバーライドする方法」でしょうか?
単に「エクセルに入力したインデックス((1,1)など入力)を行列deta_cellに入力して出力」を実現するだけなら、文字列として読み込んだインデックスを数値に変換してdata_cellのindexingに使えば事足ります。
質問の目的が前者でExcel読み込みは単なる事例の場合、下記は回答になっていないのでコメントとさせて頂きます。
% サンプルデータ準備:data_cell(1,1)とdictionary.xlsx(添付ファイル)
data_cell{1,1} = 'test';
% エクセルからテーブルを作製する
Jisho = readtable('dictionary.xlsx','ReadRowNames',true)
%文字を指定し、その行と列を呼び出す
Chushutumoji='apple';
Shoukai = Jisho(Chushutumoji,2)
%%問題の部分
% pic_index=table2struct(Shoukai)
% A=subsindex(pic_index)
% 文字列として読み込んでしまうインデックスを数値に変換する
A=sscanf(Shoukai{1,1}{:},'(%d,%d)')
% 添え字からインデックス値に変換する
A=sub2ind(size(data_cell),A(1),A(2))
dispic=data_cell{A}
回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 スプレッドシート 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!