MATLAB subs():奇怪的行为

Tho*_*mas 5 matlab symbolic-math

syms Gr Ra Ri A B Gr1 Gr2 c d
Gr =  2*c*(Ra^2 - Ri^2) - d*(Ra^4 - Ri^4)/2;
Gr1 = subs(Gr, [c*(Ra^2 - Ri^2), -d*(Ra^4 - Ri^4)/2], [A, B])
Gr2 = subs(Gr, [c*(Ra^2 - Ri^2),  d*(Ra^4 - Ri^4)/2], [A, B])
Run Code Online (Sandbox Code Playgroud)

回报

Gr1 =

2*A + B


Gr2 =

2*A - (d*(Ra^4 - Ri^4))/2
Run Code Online (Sandbox Code Playgroud)

有没有办法说服MATLAB Gr2 = 2*A - B在没有解决方法的情况下返回第二种情况?我有一个更复杂的表达式来替换,但我不能使用这个subs() - 行为.谢谢.

Tho*_*mas 0

Matlab 开发团队将所描述的行为归类为意外行为,希望在未来的版本中得到修复:

http://www.mathworks.com/matlabcentral/answers/213727-subs-unexpected-simplification-behaviour#answer_177179