On 10/18/2013 2:55 PM, Fang wrote: > Alan_Weiss <email@example.com> wrote in message > <firstname.lastname@example.org>... >> 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?