質問: 構造体同士の計算 構造体、同士を簡単に加算、減算したいと思っています。 たとえば以下のような処理です x.j1=20; x.j2=20; x.j3=20; y.j1=24; y.j2=10; y.j3=10; z=x-y; ←これがしたいができない 単純にフィールドごとに計算すればできるのはわかるのですが フィールドが増えると面倒なので簡単な方法があれば教えてください
回答: こんな方法ではどうでしょうか。 x.j1=20; x.j2=20; x.j3=20; y.j1=24; y.j2=10; y.j3=10; z = mysub(x,y) function z = mysub(x,y) fields = fieldnames(x); n = length(fields); z = x; for i = 1:n fld_name = fields{i}; z.(fld_name) = x.(fld_name)-y.(fld_name); end end