MATLABでユーザ定義型の配列・リストを使う方法
いつもC++やPythonでプログラミングをしている自分が、
MATLABでプログラミングをしようとした時に、
困ったことが一つありました。
それは、ユーザ定義型の配列・リスト型を使う方法が
わからなかったということです。
C++でいうところのstd::vectorやstd::list
Pythonでいうところのリスト型でしょうか。
異なるサイズの行列データをリストとして管理したい時に、
一行か一列データを増やしてリストのインデックスとしてもいいですが、
ちょっと複雑過ぎますね。
C++やPythonに慣れている自分では、
なんでこんなことが簡単に出来ないんだろうと思ってしまいました。
そこで色々調べた所、構造体配列というのを使うと良いことがわかりました。
構造体配列の作成 - MATLAB & Simulink - MathWorks 日本
この構造体配列を使うことにより、ユーザ定義型の配列を作ることができます。
下記のサンプルコードのように、丸括弧でインデックスを指定すると、
どんなデータでもリストとして格納することができます。
格納するデータは異なる型やサイズでもOKです。
clear all; close all; %代入するデータ a=[10 10 10] b=[2 3] c=[5] %リストとしてデータを保存 data(1).num=a; data(2).num=b; data(3).num=c; %データの表示 data(1) data(2) data(3)
より一層MATLABが手放せなくなりました(笑)。
関連資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。