Why the results are different when use different letters?

1 回表示 (過去 30 日間)
Xizeng Feng
Xizeng Feng 2022 年 3 月 11 日
コメント済み: Xizeng Feng 2022 年 3 月 14 日
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

採用された回答

Walter Roberson
Walter Roberson 2022 年 3 月 12 日
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 件のコメント
Walter Roberson
Walter Roberson 2022 年 3 月 12 日
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 2022 年 3 月 13 日
thank you very much for your kindly help. I learned more about the symbolic operations now.

サインインしてコメントする。

その他の回答 (2 件)

DGM
DGM 2022 年 3 月 11 日
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 2022 年 3 月 11 日
編集済み: Jan 2022 年 3 月 11 日
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 件のコメント
Jan
Jan 2022 年 3 月 13 日
It is an important point to see, that the equations are not equal and that spaces around operators do matter.
Xizeng Feng
Xizeng Feng 2022 年 3 月 14 日
Yes, I'll remember this point.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeNumbers and Precision についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by