Solving non-linear equation including natural logarithm

Hi guys, I am trying to solve this eqn for y and I am just waiting, Matlab stays busy for some reason. What can I do? Do you think there is a simple way to do it?
syms a b c x y
eqn = (1/b) * (c-y)^(3/2) == a-x-(1/2)*log(1-y/c)
eqn=rewrite(eqn,'log')
s=solve(eqn,y,'IgnoreAnalyticConstraints',true)

Antworten (1)

Jeremy
Jeremy am 20 Nov. 2019
Bearbeitet: Jeremy am 20 Nov. 2019

0 Stimmen

Most probably, there is no analytical solution for y in terms of (a,b,c,x). You can solve numerically for y at given values of a,b,c,x by using fzero.

3 Kommentare

I need to fit my data using this equation and I need to get a, b and c values using this fit with +- error values. Do you have any suggestion? For most of the code and program that I use, I need to write y = something.
I would solve for x such that
x = @(y) a - (1/b) * (c-y)^(3/2) - (1/2)*log(1-y/c);
and do a regression for x in terms of a,b,c,y?
It seems a good idea, thank you. I am sure it is very easy but I tried to solve and I could not manage to write the code for regression. Also I tried to use curve fitting toolbox and it gave me an error saying that it is too complex.

Melden Sie sich an, um zu kommentieren.

Kategorien

Produkte

Version

R2018b

Gefragt:

am 20 Nov. 2019

Kommentiert:

am 21 Nov. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by