From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Solving eqn in matlab
Date: Tue, 8 Nov 2011 06:55:14 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 22
Message-ID: <j9ajoi$rj3$>
References: <j9ac4r$6b3$>
Reply-To: <HIDDEN>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: 1320735314 28259 (8 Nov 2011 06:55:14 GMT)
NNTP-Posting-Date: Tue, 8 Nov 2011 06:55:14 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1187260
Xref: comp.soft-sys.matlab:748617

"rasika " <> wrote in message <j9ac4r$6b3$>...
> syms Cell;
> >> solve('C*(50-R)*Cell - 2.5*log(Cell)=log((Is/I)/(1-(Is/I))) - log(B)-A*(50-R)')
- - - - - - - - -
  I think you must not have made it clear to 'solve' what your unknown variable is, namely 'Cell'.  On my ancient Symbolic Toolbox I got this:


where I had substituted

 k1 = C*(50-R)
 k2 = -2.5
 k3 = log((Is/I)/((1-Is)/I))-log(B)-A*(50-R)
 x  = Cell

to get the equation k1*x+k2*log(x)=k3 and where 'x' was the unknown.

  The function 'lambertw' is given in the Symbolic Toolbox.  Note that it possesses two branches.  Be careful which one you choose.

  Your own 'solve' should be able to solve this even in the original parameters if you call on it properly.

Roger Stafford