How to solve this analytical equation please?
Show older comments
Hi,
I was trying to solve this equation to find the value of G, unfortunately could not find a way to solve it, but do not know the reason.
Any help please?

Script:
% Variables
% -----------------------------------------------------------------------
% Alpha Dash
x=0.1;
% GO
GO=1000;
% Pt
Pt=0.22e-3;
% Psat
Psat=10e-3;
% Equations
% -----------------------------------------------------------------------
a=1-x;
b=Pt/Psat;
c=1+b;
d=a*c;
% Option 1:
solve x*log(GO/G)=log(d/(a*(1+(G*b))))
% Option 2:
solve x*log(GO/G)=log((0.9*(1+b))/(0.9*(1+(G*b))))
% Option :
w= vpasolve(x*log(GO/G)=log((0.9*(1+b))/(0.9*(1+(G*b)))));
Answers (3)
Walter Roberson
on 28 Apr 2014
Edited: Walter Roberson
on 28 Apr 2014
solve(x*log(GO/G)=log(d/(a*(1+(G*b)))),G)
Note: the solution involves RootOf() a 10th order equation, two of the roots of which are valid solutions.
[-15.53821708+8.146700635*i, -15.53821708-8.146700635*i]
There is no analytic solution to 10th order equations, in general.
RootOf(25937424601000 * z^10 + 11789738455000000 * z^9 + 2411537411250000000 * z^8 + 292307565000000000000 * z^7 + 23251738125000000000000 * z^6 + 1268276625000000000000000 * z^5 + 48040781250000000000000000 * z^4 + 1247812500000000000000000000 * z^3 + 21269531250000000000000000000 * z^2 + 213629777073645655956912870399 * z + 976562500000000000000000000000, z)
the 3rd and 8th roots are the valid ones.
Osa
on 29 Apr 2014
0 votes
1 Comment
Walter Roberson
on 29 Apr 2014
In short, RootOf(f(z),z) for some expression f(z), represents the set of numbers, z, such that f(z) = 0. The "roots" of the equation. solve() will generate RootOf structures when asked for analytic solutions to sufficiently high polynomials.
If I recall correctly, by default only polynomials of degree 0, 1, or 2 are solved directly in MuPAD, and you can request that polynomials of degree 3 or 4 be solved for algebraically (usually a real mess!); polynomials of degree 5 and higher do not usually have analytic solutions.
The sequence I used was Maple rather than MuPAD. The MuPAD notebook equivalent (not usable directly from the MATLAB prompt) would be:
Q := v -> coerce(v, DOM_RATIONAL);
x := Q(.1);
GO := 1000;
Pt := Q(0.22e-3);
Psat := Q(0.10e-1);
a := 1-x;
b := Pt/Psat;
c := 1+b;
d := a*c;
solve(x*log(GO/G) = log(d/(a*(G*b+1))), G)
Parham
on 29 Apr 2014
if you rearrange the equation, you'll get
a=alpha
phi = P/Psat
G = exp( (1/a)*(G0^a * (1-a)) / (1-a-phi+(G0^a)*a*phi) )
Categories
Find more on Special Values in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!