Alan_Weiss <firstname.lastname@example.org> wrote in message <email@example.com>... > On 10/18/2013 12:39 PM, Fang wrote: > > I have a large-size 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','trust-region-reflective'); > > 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?