構造体同士の計算
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
yuuya suzuki
am 19 Jul. 2019
Kommentiert: yuuya suzuki
am 22 Jul. 2019
構造体、同士を簡単に加算、減算したいと思っています。
たとえば以下のような処理です
X.J1=20;
X.J2=20;
X.J3=20;
Y.J1=24;
Y.J2=10;
Y.J3=10;
Z=X-Y; ←これがしたいができない
単純にフィールドごとに計算すればできるのはわかるのですが
フィールドが増えると面倒なので簡単な方法があれば教えてください
Akzeptierte Antwort
Kenta
am 21 Jul. 2019
x=struct2table(X);
y=struct2table(Y);
C=x{1,:}-y{1,:}
他の回答者さまのやり方のほうが、汎用的で、いろいろなものに使えて優れているとは思いますが、
少なくとも、今回の計算では、このコードでも同様の結果が得られました。簡単な演算のみならこのような方法でも良いかもしれません。
3 Kommentare
Weitere Antworten (1)
Yoshio
am 19 Jul. 2019
こんな方法ではどうでしょうか。
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
2 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!