Why the results are different when use different letters?
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Xizeng Feng
il 11 Mar 2022
Commentato: Xizeng Feng
il 14 Mar 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
0 Commenti
Risposta accettata
Walter Roberson
il 12 Mar 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 Commenti
Walter Roberson
il 12 Mar 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])
Più risposte (2)
DGM
il 11 Mar 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
il 11 Mar 2022
Modificato: Jan
il 11 Mar 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 Commenti
Jan
il 13 Mar 2022
It is an important point to see, that the equations are not equal and that spaces around operators do matter.
Vedere anche
Categorie
Scopri di più su Numbers and Precision in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!