Search All of the Math Forum:
Views expressed in these public forums are not endorsed by
NCTM or The Math Forum.



Re: fsolve won't solve nonlinear 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 nonlinear equations. > > These are the mfiles: > > function F = ORVP(k) > F(1) = 0.6*k(3)/k(2)*44.44k(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 doublechecked 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.44k(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.55111512312578e17 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



