Per funzioni generiche usa "lsqnonlin":
ad esempio se hai:
x = [1,2,3];
y = [1,2,3];
z = [1,2,3;4,5,6;,7,8,9];
surf(x,y,z);
e' una superficie. Tu mettiamo che la vuoi fittare con una funzione di due parametri; definisci la tua funzione di fit a cui dovrai sottrarre i dati z(:):
[X, Y] = meshgrid(x,y);
fun = @(parametro) parametro(1)*X(:)+parametro(2)*Y(:)-z(:);
a questo punto "lsqnonlin" ti da' i valori di "parametro(1)" e "parametro(2)" in modo da fare i minimi quadrati di "fun" che e' la differenza tra la tua funzione di fit "(parametro(1)*X(:)+parametro(2)*Y(:))" e i dati veri z(:):
lsqnonlin(fun,[1,1])