で使用できる演算子を使用しMATLAB
たシンボリック式があります。私が欲しいのは、式の左側と右側を2つの別々のシンボリック式に分離することです。==
solve()
例えば:
expr = sym('[1-x^2==2*y; 1+x^2==x+y]');
side1 = lhs(expr); % returns side1 = [1-x^2; 1+x^2];
もちろん、私の表現ははるかに複雑で、常にベクトルまたは行列形式です。
回避策1MuPAD
組み込み関数
を使用できますが、関数lhs()
のみを使用してこれを実行できるかどうかを知りMATLAB
たいので、1つの値だけでなく、式のベクトルに対しても機能させたいと考えています。
これは私がこれまでに持っているものであり、期待どおりに機能します。たぶん、結果の塗りつぶしはを使用して何らかの形でベクトル化することができます:
が、私はそれを機能させることができませんでした。
function [ r ] = lhs( expr )
%LHS Returns the left hand side an expression
% LHS(sym('[1-x^2==2*y'; 1+x^2==x+y]')) = [1-x^2; 1+x^2]
cmd = @(e)['lhs(',char(e),')'];
[m,n] = size(expr);
r = sym(zeros(m,n));
for i=1:m
for j=1:n
r(i,j) = evalin(symengine, cmd(expr(i,j)));
end
end
end