Why the results are different when use different letters?

1 Ansicht (letzte 30 Tage)
Xizeng Feng
Xizeng Feng am 11 Mär. 2022
Kommentiert: Xizeng Feng am 14 Mär. 2022
I solve same equations in different ketters and got fifferent results as follow:
But rs=a, xs=b, rp=c and xp=d. the equations are same!
>> syms rs xs rp xp;
>> [rp,xp]=solve(rs*rp^2+rs*xp^2==xp^2*rp,xs*rp^2+xs*xp^2==rp^2*xp)
rp =
-(rp*(rs*(rp - rs))^(1/2))/(rp - rs)
(rp*(rs*(rp - rs))^(1/2))/(rp - rs)
xp =
-(rs*(rp - rs))^(1/2)
(rs*(rp - rs))^(1/2)
-------------------------------------------------------------
>> syms a b c d
>> [c,d]=solve(a*c^2+a*d^2==c^2*d,b*c^2+b*d^2==d^2*c)
c =
0
(a^2 + b^2)/b
d =
0
(a^2 + b^2)/a

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 12 Mär. 2022
You are not specifying which two variables to solve for, so solve() is using symvar() and picking the first two variables.
With the different names involved, the relative order of the variables in symvar() is different than you are expecting.
  3 Kommentare
Walter Roberson
Walter Roberson am 12 Mär. 2022
syms rs xs rp xp
[rp,xp]=solve(rs*rp^2+rs*xp^2==rp^2*xp, xs*rp^2+xs*xp^2==xp^2*rp, [rp, xp])
rp = 
xp = 
Xizeng Feng
Xizeng Feng am 13 Mär. 2022
thank you very much for your kindly help. I learned more about the symbolic operations now.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

DGM
DGM am 11 Mär. 2022
They are not the same.
syms rs xs rp xp;
[rp,xp] = solve( rs*rp^2+rs*xp^2 == xp^2*rp, xs*rp^2+xs*xp^2 == rp^2*xp)
syms a b c d
[c,d] = solve( a*c^2+a*d^2 == c^2*d, b*c^2+b*d^2 == d^2*c)
The RHS of both equations don't correspond. You'll have to decide which one is which.

Jan
Jan am 11 Mär. 2022
Bearbeitet: Jan am 11 Mär. 2022
Because the equations are different:
syms rs xs rp xp
syms a b c d
[rp, xp] = solve(rs * rp^2 + rs * xp^2 == xp^2 * rp, xs * rp^2 + xs * xp^2 == rp^2 * xp)
[c, d] = solve(a * c^2 + a * d^2 == c^2 * d, b * c^2 + b * d^2 == d^2 * c)
% ^ ?! ^
You see, the replacement is not performed exactly. The term xp is converted twice to c instead of d.
  6 Kommentare
Jan
Jan am 13 Mär. 2022
It is an important point to see, that the equations are not equal and that spaces around operators do matter.
Xizeng Feng
Xizeng Feng am 14 Mär. 2022
Yes, I'll remember this point.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Formula Manipulation and Simplification finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by