読者です 読者をやめる 読者になる 読者になる

MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

MATLABでユーザ定義型の配列・リストを使う方法

MATLAB Programming

MATLABプログラミング入門

MATLABプログラミング入門

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.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com