Path: news.mathworks.com!not-for-mail
From: "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid>
Newsgroups: comp.soft-sys.matlab
Subject: Re: solution of a transcendental equation
Date: Tue, 15 Jan 2008 00:25:18 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 42
Message-ID: <fmguhe$8h7$1@fred.mathworks.com>
References: <9544552.1200342600658.JavaMail.jakarta@nitrogen.mathforum.org>
Reply-To: "Roger Stafford" <ellieandrogerxyzzy@mindspring.com.invalid>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1200356718 8743 172.30.248.38 (15 Jan 2008 00:25:18 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Tue, 15 Jan 2008 00:25:18 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1187260
Xref: news.mathworks.com comp.soft-sys.matlab:445718


Fulya <fulya_bagci@yahoo.com> wrote in message 
<9544552.1200342600658.JavaMail.jakarta@nitrogen.mathforum.org>...
> Hi all,
> 
> I have a transcendental equation:
> 
> y=a.*((b+c.*y.*x)./(b+c.*x))^(1-1./c)
> 
> I have to take y to the left side of equation and obtain an expression y=f(x). 
x is an array of 50 elements and a,b and c are constants.
> Do you have any idea? What can I do?
> b and c parameters are constantly changing.
> I tried 'solve' command but it didn't do like I want. 
> I know that c>1.
> Thanks a lot.
> 
> Fulya
---------
  Possibly you can use matlab's 'fzero' function if you can come up with a 
scheme for making the x0 estimates that function requires.  If your b and c 
values change by small amounts, you can probably use the solutions to the 
previous b and c values for estimating the next b and c solutions.

  I don't have 'fzero' on my ancient system but I think it only works with 
scalar-valued functions, so you may have to resort to a 50-step for-loop to 
treat each value in the x vector separately in determining the corresponding y 
vector, for given a, b, and c values.

  I notice that you can easily solve for x in the equation as a function of y, 
which means there is only one value of x for each y-value (for a given a, b, c 
set.)  However, the reverse does not appear to be true.  Given values of x may 
correspond to more than one y value.  In this case the x0 estimate for 'fzero' 
will have to be carefully chosen so as to lead to the correct y.  Either that or 
you need to invoke some constraints on the y-value range (using two-
element x0's.)

  The fact that x can be expressed as a function of y makes it possible for you 
to do some initial plotting for various values of your parameters a, b, and c, 
so as to help with the proper choice of the estimator x0 values.

Roger Stafford