MATLABでプログラムをしていて、セル配列で作ったけどやっぱり構造体でまとめたい、なんてことがあったりします。
そのやり方をメモしておきます。
たとえば
hoge = {'kore', 'are', 'acchi', 'kottch'};
みたいな名前と
nagasa = {12, 13, 15, 20};
のような例えば長さを格納したセル配列があったとします。それぞれが対応していて ‘kore’の流さが12で、’are’の流さが13のようになっているとしましょう。
これら二つを構造体でまとめたい、という時はcell2structを使います。
hogeNoNagasa = cell2struct( nagasa, hoge, 2);
とします。
hogeNoNagasaをコマンド・ウィンドウで叩いてみます:
>> hogeNoNagasa hogeNoNagasa = フィールドをもつ struct: kore: 12 are: 13 acchi: 15 kottch: 20
fieldと値が正しく入っていますね。
fieldの’kore’を参照してみますと
>> hogeNoNagasa.kore ans = 12
ということで正しく構造体になっています。