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の使用 | 構造体の操作のために関数を作成 | ![]() |