ファイルから入力を読み取り、データにインポートして Matlab で実行しています。
parts = strread(tline,'%s','delimiter',';')
employee(i).name = parts(1);
employee(i).salary= str2double(parts(2));
それから私はそれを印刷しようとします:
for i = 1:3
fprintf('salary: %.2f\n',employee(i).salary);
fprintf('employee name: %s\n',employee(i).name);
end
給与は問題なく印刷されます。ただし、変数「name」の場合、エラーが発生します。
Error using fprintf
Function is not defined for 'cell' inputs.
fprintf('employee name: %s\n',employee(i).name);
私はいくつかの他の例を探しました:
構造体フィールドに動的にアクセスするにはどうすればよいですか?
Matlab エラー: 'cell' 入力に対して関数が定義されていません
しかし、文字列だけが機能しないこのケースに対処するものは何もありません。
データを構造体として明示的に宣言していません。つまり、コード内に「構造体」という単語が含まれている場所はありませんが、Matlab は明らかに自動的に「構造体の配列」として認識します。
ここに何が欠けているかのヒントはありますか?
すべてのコメントは大歓迎です!