Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Non-linear Root Solver
Replies: 0  

Advanced Search

Back to Topic List Back to Topic List  
Esteban

Posts: 1
Registered: 7/28/14
Non-linear Root Solver
Posted: Jul 28, 2014 2:31 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

After fsolve failed to solve my large-scale problem, I switched to ZIB's NLEQ1. However, I'm having some problems with its correct implementation. When I run an illustrative example (posted below), I get the following error:

Output argument "fail" (and maybe others) not assigned during call...

If I specify a value for fail in myfun, I get the following error:

Undefined function or variable "sumxa"...

Would anyone with experience on NLEQ1 be so king to show me how to properly implement it and what these errors mean?

Thanks,
EC

--------------------------------------------------------------------------------------
Code:

% Driver:
X0 = [0.5;-3];
XSC = [1E-1;1E-1];
PAR = [8;7;4];
FCN = @myfun;

RTOL = 1E-12;
IOPT = [];
WK = [];

[x,info,wk] = nleq1(FCN,X0,XSC,RTOL,IOPT,PAR,WK)

% Function:
function [out,fail] = myfun(x,flag,par)
c1 = par(1);
c2 = par(2);
c3 = par(3);
if strcmpi('',flag)
f = zeros(2,1);
f(1) = x(1).^2 + x(2).^2 - c1;
f(2) = x(1).*x(2) + c2.*x(1) - c3;
out = f;
elseif strmpi('jacobian',flag)
j = zeros(2,2);
j(1,1) = 2.*x(1);
j(1,2) = 2.*x(2);
j(2,1) = x(2) + 7;
j(2,2) = x(1);
out = j;
end
end



Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.