My code starts with solving 6 differential equations by initial guess for 8 parameters. In the end, it gives the values for the parameter of interest (mass yield). On the other hand mass yields have been found by experiments. (the code has been written till here) The rest of the code should compare the values found by the model and the values from the experiment. If they were different should change the initial 8 guesses until the difference is acceptable. The function to be used is probably lsqnonlin. It should solve, as lsqcurvefit, nonlinear least-squares problems, but slightly differently. The function to be minimized should probably be specified as a function handle for an external M-file function. My main problem is the coding. As I have never worked with function handles and lsqnonlin. If you can give me a clue on how to implement them, it would be a great help.