El mejor plano de ajuste para datos 3D

Tengo mis datos 3D X, Y, Z (Matrices con tamaño NxM)

Quiero ajustarlo al plano que mejor se ajuste a lo que hice:

X = X(isfinite(X));% deleting the NaN because svd Doesn't accept them
Y = Y(isfinite(Y));
Z = Z(isfinite(Z));

G = [X,Y,Z,ones(size(X(:)))];
[u s v] = svd(G,0);
P = v(:,4);
scalar = 2*P./P(1);
P = P./scalar; % supposed to be my plane equation but there is something wrong

y luego recalcular la Z de X e Y

Z = -(P(1)*X + P(2)*Y + P(4)) / P(3);

¡No sé cuál es el problema!

Respuestas a la pregunta(1)

Su respuesta a la pregunta