Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
Drexel University or The Math Forum.
|
|
|
|
Re: fsolve won't solve non-linear system of equations
Posted:
Dec 16, 2011 7:03 PM
|
|
"Marcio Barbalho" <marciobarbalho@live.com> wrote in message <jcgj4i$hd5$1@newscl01ah.mathworks.com>... > Hi you all. > > I've had a hard time understanding why matlab can't solve this problem using fsolve. > > It's a system of non-linear equations. > > These are the m-files: > > function F = ORVP(k) > F(1) = 0.6*k(3)/k(2)*44.44-k(1); > F(2) = 1/( 0.6/(k(2)*44.44)+0.4/(k(4)*65.43))-k(3); > F(3) = 1 - k(1)-k(5); > F(4) = exp(1.107*k(5)^2)-k(2); > F(5) = exp(1.107*k(1)^2)-k(4); > end > > clc > k0 = [0.81; 1.03; 62.89; 2.09; 0.19]; > options=optimset('Display','iter','MaxFunEvals',5d4,'MaxIter',1d4); > [x,fval] = fsolve(@ORVP,k0,options) > > where k0, starting guess, is the solution already. It just won't get to the result. I've double-checked the equations, they are fine! > > Any ideas? > > Many thanks
Funny. If K0 is already the solution, then it should return zeros for F, at least approximately.
>> k = [0.81; 1.03; 62.89; 2.09; 0.19]; >> F(1) = 0.6*k(3)/k(2)*44.44-k(1); F(2) = 1/( 0.6/(k(2)*44.44)+0.4/(k(4)*65.43))-k(3); F(3) = 1 - k(1)-k(5); F(4) = exp(1.107*k(5)^2)-k(2); F(5) = exp(1.107*k(1)^2)-k(4) F = 1627.24724271845 -0.519342857456024 -5.55111512312578e-17 0.0107719526745367 -0.0225774221160711
So I wonder why, if you have checked the equations, and they are correct, AND this is a solution, then why is F not zero?
Just one of those little mysteries we are faced with.
John
|
|
|
|