模型擬合

function p = ModelOptimize(x,y,z)

x = x(:);

y = y(:);

z = z(:);

l = ones(numel(x),1);

o = zeros(numel(x),1);

% data

X = [ x.^2, y.^2, z.^2, x.*y, x.*z, y.*z, x, y, z, l ];

% gradients

dx = [2*x, o, o, y, z, o, l, o, o, o];

dy = [o, 2*y, o, x, o, z, o, l, o, o];

dz = [o, o, 2*z, o, x, y, o, o, l, o];

dX = [dx; dy; dz];

% scatter matrices

A = X'*X;

B = dX'*dX;

[V,D] = eig(A,B);

[~,ix] = min(abs(diag(D)));

p = V(:,ix);

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容