I don't have time to work this in detail now, but here are my thoughts:
1. One way to speed the optimization would be to calculate the gradients of your error metric with respect to the fit parameters. Then you could use another optimization routine that uses gradient information (e.g., fminunc if you have the Optimization Toolbox).
2. You might look for ways to algorithmically determine the initial parameter values. If you can find better initial values the optimization will be faster. One way to do this may be to break the operation up into a couple steps. You may have better success first performing an optimization to a Gaussian and then fitting to a super-Gaussian. Alternatively, if you know your data sets are similar you might use an average of previous fit parameters as your initial guess.
Of these two approaches I would start with the first. The difficulty here will be in analytically calculating derivatives of your error metric. If you can do this, supplying gradient information to a good optimization routine should significantly speed convergence.
Good luck,
Eric
Best Answer