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)

Réponses (1)

Jeremy
Jeremy le 20 Nov 2019
Modifié(e) : Jeremy le 20 Nov 2019

0 votes

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 commentaires

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.

Connectez-vous pour commenter.

Catégories

Produits

Version

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by