⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 reconstruction_derivative.m

📁 一个很好的Matlab编制的数据降维处理软件
💻 M
字号:
function [C, dC] = reconstruction_derivative(V, O, R)%RECONSTRUCTION_DERIVATIVE Computes reconstruction error and derivative%%   [C, dC] = reconstruction_derivative(V, original, reconstruction)%% Computes reconstruction error and derivative with respect to the affine % transformation V that is applied on the reconstructions.%    % Retrieve the variables from the vector V    alpha = V(1);    scale = V(2);    x0 = V(3);    y0 = V(4);    n = size(O, 1);    % Compute reconstruction error    C1 = O(:,1) - (scale .* cos(alpha) .* R(:,1)) - (scale .* sin(alpha) .* R(:,2)) + (scale .* ((x0 .* cos(alpha)) + (y0 .* sin(alpha))));    C2 = O(:,2) + (scale .* sin(alpha) .* R(:,1)) - (scale .* cos(alpha) .* R(:,2)) - (scale .* ((x0 .* sin(alpha)) - (y0 .* cos(alpha))));    C = (1 / n) .* sum((C1 .^ 2) + (C2 .^ 2));        % Compute derivatives (over alpha, scale, x0, and y0)    dC = repmat(0, [4 1]);    dC(1) = sum((2 .* C1 .* ((scale .* sin(alpha) .* R(:,1)) - (scale .* cos(alpha) .* R(:,2)) + (scale .* ((y0 .* cos(alpha)) - (x0 .* sin(alpha)))))) + ...                (2 .* C2 .* ((scale .* cos(alpha) .* R(:,1)) + (scale .* sin(alpha) .* R(:,2)) + (scale .* ((x0 .* cos(alpha)) + (y0 .* sin(alpha))))))) ./ n;    dC(2) = sum((2 .* C1 .* ((-cos(alpha) .* R(:,1)) - (sin(alpha) .* R(:,2)) + (x0 .* cos(alpha) + y0 .* sin(alpha)))) + ...                (2 .* C2 .* (( sin(alpha) .* R(:,1)) - (cos(alpha) .* R(:,2)) - (x0 .* sin(alpha) + y0 .* cos(alpha))))) ./ n;    dC(3) = sum((2 .* C1 .* scale .* cos(alpha)) - (2 .* C2 .* scale .* sin(alpha))) ./ n;    dC(4) = sum((2 .* C1 .* scale .* sin(alpha)) + (2 .* C2 .* scale .* cos(alpha))) ./ n;    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -