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


Fang
Posts:
23
Registered:
8/6/12


Re: How to use lsqnonlin with the option "JacobPattern"
Posted:
Oct 18, 2013 2:55 PM


Alan_Weiss <aweiss@mathworks.com> wrote in message <l3rtu6$638$1@newscl01ah.mathworks.com>... > On 10/18/2013 12:39 PM, Fang wrote: > > I have a largesize problem, and the Jacobian matrix is sparse. In the > > document, there is a "JacobPattern" option, but I cannot find any > > example about how to use it. Anyone can help? > > > > I tried to create a Jacobian matrix using sparse() function, but the > > problem is sparse() can not be used by "function_handle". I guess > > "JacobPattern" can solve this problem, but how? > > > > Thank you in advance. > > You are quite right, this is not documented properly. I will have to see > to that. > > In any case, here's how to do it. For lsqnonlin you have a vector > function F(x) of a vector x. The JacobPattern matrix J is supposed to be > a sparse matrix, with J(i,j) = 1 whenever the ith component of F can > have a nonzero derivative with respect to x(j). > > Pass the matrix J as the JacobPattern option: > options = optimset('JacobPattern',J,'Algorithm','trustregionreflective'); > > Alan Weiss > MATLAB mathematical toolbox documentation
Thank you very much, Alan. So JacobPattern is to pass the locations of the nonzero derivatives, but how to pass the nonzero elements (functions_handle) in the Jacobian matrix to lsqnonlin?



