我想使用MATLAB从方程式中消除变量。例如,让我们考虑以下方程式:
p = (m + n)
q = (m - n)
r = (m^3 - n^3)
现在,通过像这样r
完全消除p
和q
,可以用m
和n
来表示r = (3*p^2*q + q^3)/4
。
这可以在Mathematica中使用以下方法实现:
Eliminate[{p == (m + n), q == (m - n), r == (m^3 - n^3)}, {m, n}]
如果有可能,如何在MATLAB中获得相同的结果。为此,在不同的应用程序之间切换非常不方便。
答案 0 :(得分:2)
% 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)
答案 1 :(得分:1)
求解两个方程式,并找到p
和q
的值。然后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