在 MATLAB 中消除方程式中的变量

Eliminate variables from equations in MATLAB

我想使用 MATLAB 从方程中消去变量。例如,让我们考虑以下等式:

p = (m + n)
q = (m - n)
r = (m^3 - n^3)

现在,r 可以通过完全消除 mn 来表示为 pq,如下所示:r = (3*p^2*q + q^3)/4.

这可以在 Mathematica 中使用以下方法实现:

Eliminate[{p == (m + n), q == (m - n), r == (m^3 - n^3)}, {m, n}]

如果可能的话,我怎样才能在 MATLAB 中得到相同的结果。就为了这个要在不同的应用之间切换,很不方便。

求解两个方程并找到 pq 的值。然后 subs 函数将通过将 m & n 替换为 p & q 来给出解决方案。 More information available here

eqn1 = r == (m^3 - n^3);
eqn2 = p == (m + n);
eqn3 = q == (m - n);

eqn4 = isolate(eqn2,m);  
eqn5 = isolate(eqn3,m);
eqn6 = rhs(eqn2) == rhs(eqn3);
eqn6 = isolate(eqn4,n);   %solving for n
eqn7 = subs(eqn4,lhs(eqn6),rhs(eqn6)); %solving for m

eqn1 = subs(eqn1,lhs(eqn6),rhs(eqn6));  %substituting n
eqn1 = subs(eqn1,lhs(eqn7),rhs(eqn7));  %subtituting m
% Declare symbolic variables
syms m n p q

% Solve m,n 
s1=solve(m+n-p==0,m-n-q==0,m,n);

% Substitute variables with obtained solution
r = (m^3 - n^3);
r2=subs(subs(r,m,s.m),n,s.n);

% simplify answer
r3=simplify(r2)