| Programming with MATLAB |
関数と演算子の適用
他のMATLAB配列に対して行うのと同様に、フィールドやフィールド要素に対して演算を行います。演算するデータにアクセスするためにはインデックスを使ってください。たとえば、patient(2)内のtest配列の行の平均を求めるためには、つぎのようにします。
mean((patient(2).test)')
構造体配列内のフィールドに関数や演算子を適用するためには複数の方法があります。patient配列にすべてのbillingフィールドの和を計算する方法は、つぎのようになります。
total = 0;
for j = 1:length(patient)
total = total + patient(j).billing;
end
このような演算を簡単にするために、MATLABは構造体配列内の同じ名前のフィールドすべてに対して演算を行うことができます。関数コール内で、array.fieldを中括弧で囲んでください。たとえば、つぎの式を使って、patient配列内のすべてのbillingフィールドを合計することができます。
total = sum ([patient.billing]);
total = sum ([patient(1).billing, patient(2).billing...]);
この構文は、オペランドのフィールドがスカラのフィールドである場合に最も有効です。
| 構造体配列を使った関数sizeの使用 | 構造体の操作のために関数を作成 |