Getting Started | ![]() ![]() |
構造体
構造体は、メンバ変数field designators によりアクセスできる要素をもつ多次元MATLAB配列です。たとえば、
S.name = 'Ed Plum'; S.score = 83; S.grade = 'B+'
S = name: 'Ed Plum' score: 83 grade: 'B+'
MATLABの中のすべてのものと同じように、構造体は配列で、そのため付加的な要素も挿入することができます。この場合、配列の各々の要素は、いくつかのメンバをもった構造体です。メンバは、一度に一つのものを加えることができます。
S(2).name = 'Toni Miller'; S(2).score = 91; S(2).grade = 'A-';
S(3) = struct('name','Jerry Garcia',... 'score',70,'grade','C')
構造体は、内容の概略だけをプリントしても十分に大きいものです。
S = 1x3 struct array with fields: name score grade
種々のメンバを他のMATLAB配列に集め直すのにいくつかの方法があります。これらは、コンマでリストを分離する 記法をもとにしています。つぎのようにタイプすると、
S.score
S(1).score, S(2).score, S(3).score
これは、各要素をコンマによる分離で表現するものです。他の句読点を使うことはできません。これは、一度に3つのスコアをデフォルト変数
ans
に割当て、各々の割当ての結果を、忠実に表示します。しかし、つぎのように鍵括弧で囲むと
[S.score]
[S(1).score, S(2).score, S(3).score]
ans = 83 91 70
S.name
とタイプすると、変数 ans
に一度にnameを割り当てます。しかし、中括弧を使った表現
{S.name}
ans = 'Ed Plum' 'Toni Miller' 'Jerry Garcia'
char(S.name)
は、メンバ name
から1つのキャラクタ配列を作成するため、3つの引数と共に
char
を呼び込みます。
ans = Ed Plum Toni Miller Jerry Garcia
![]() |
キャラクタとテキスト | スクリプトとファンクション | ![]() |