Symbolic Computations for three non-linear equations solution

2 vues (au cours des 30 derniers jours)
rfcalculus
rfcalculus le 17 Mar 2023
Commenté : rfcalculus le 20 Mar 2023
Dear community members,
I am trying to find three unknown values A,fu and alpha using three equations:
fl = [1.883806, 1.883135, 1.882170]*10^9;
Qe = [161.43, 10.765, 2.5734]*10^4;
syms A fu alpha
eq1=fl(1)-(1+(A/(Qe(1)^alpha)))*fu==0;
eq2=fl(2)-(1+(A/(Qe(2)^alpha)))*fu==0;
eq3=fl(3)-(1+(A/(Qe(3)^alpha)))*fu==0;
roots = vpasolve(eq1,eq2,eq3,A,fu, alpha)
A = double(roots.A)
alpha = double(roots.alpha)
fu = double(roots.fu)
The results I get:
A: 23.111701126115183488493226207409
fu: 1883037000.0
alpha: 9.7722388976929995256469179038887
Are different from the expected ones:
A = -0.1555;
fu=1.88406316*10^9;
alpha = 0.4967;
Could you please let me know how can I adjust the results?

Réponse acceptée

Torsten
Torsten le 17 Mar 2023
Modifié(e) : Torsten le 17 Mar 2023
fl = [1.883806, 1.883135, 1.882170]*10^9;
Qe = [161.43, 10.765, 2.5734]*10^4;
syms A fu alpha
eq1=fl(1)-(1+(A/(Qe(1)^alpha)))*fu==0;
eq2=fl(2)-(1+(A/(Qe(2)^alpha)))*fu==0;
eq3=fl(3)-(1+(A/(Qe(3)^alpha)))*fu==0;
roots = vpasolve([eq1,eq2,eq3],[A,fu, alpha],[-0.1555;1.88406316*10^9;0.4967] )
roots = struct with fields:
A: -0.1770775480947061932261999744466 fu: 1884030476.7824237850125485618186 alpha: 0.51096779065904968571811061519679
Anum = double(roots.A)
Anum = -0.1771
alphanum = double(roots.alpha)
alphanum = 0.5110
funum = double(roots.fu)
funum = 1.8840e+09
double(subs([lhs(eq1),lhs(eq2),lhs(eq3)],[A,fu,alpha],[Anum,funum,alphanum]))
ans = 1×3
1.0e-07 * 0.5017 0.4977 0.4929
double(subs([lhs(eq1),lhs(eq2),lhs(eq3)],[A,fu,alpha],[-0.1555,1.88406316*10^9,0.4967]))
ans = 1×3
1.0e+04 * -1.5436 -0.0424 -0.4617

Plus de réponses (0)

Catégories

En savoir plus sur Symbolic Math Toolbox dans Help Center et File Exchange

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by