Solving non linear equation for x

1 view (last 30 days)
Solving non linear equation for x
x^2 ln(0.4956/x) = (1-x)^2 ln(0.47198/(1-x)
Can somebody solve this equation for me?
I'm finding little difficulty in this

Accepted Answer

Alan Weiss
Alan Weiss on 10 Dec 2018
Edited: Alan Weiss on 10 Dec 2018
eqn = @(x) x.^2 .* log(0.4956./x) - (1-x).^2 .* log(0.47198./(1-x));
t = linspace(0.01,0.99);
plot(t,eqn(t)) % Shows a single real root in this interval
rootfind.png
x = fzero(eqn,[0.01 0.99])
x =
0.5115
No toolboxes needed.
Alan Weiss
MATLAB mathematical toolbox documentation

More Answers (2)

madhan ravi
madhan ravi on 10 Dec 2018
Edited: madhan ravi on 10 Dec 2018
syms x
x=vpasolve((x.^2.*log(0.4956./x) == (1-x).^2.*log(0.47198./(1-x))))
Gives:
x =
0.52091005935042057378274263984089 - 1.0079858568869724875750086505265i
>>

Star Strider
Star Strider on 10 Dec 2018
Using the Optimization Toolbox fsolve function:
eqn = @(x) x.^2 .* log(0.4956./x) - (1-x).^2 .* log(0.47198./(1-x));
xval = fsolve(eqn, 10)
produces:
xval =
0.51145093065171 + 9.06147769514677e-09i

Products

Community Treasure Hunt

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

Start Hunting!