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

📄 fixval.m

📁 基于多元线性回归、偏最小二乘、神经网络、卡尔漫滤波、径向基网络、主成分分析等等的程序。可用于建模和预测。
💻 M
字号:

function [Xhat,Yhat] = fixval(X,Y,F,Wx,Wy)

%   [Xhat,Yhat] = fix(X,Y,F,Wx,Wy)
%
% Function tries to fix missing values matching data against model. 
%
% Input parameters:
%  - X: Data matrix to be fixed (size k x n)
%  - Y: Output matrix to be fixed (size k x m)
%  - F: Model matrix, Y=X*F
%  - Wx: Matrix containing 1 for each valid data in X
%  - Wy: Matrix containing 1 for each valid data in Y
% Return parameter:
%  - Xhat: Fixed data matrix
%  - Yhat: Fixed output matrix
%
% Heikki Hy鰐yniemi Feb.20, 2001


[kx,n] = size(X);
[ky,m] = size(Y);
if kx ~= ky, disp('Incompatible X and Y'); break; 
else k = kx; end
if size(X) ~= size(Wx), disp('Incompatible X and Wx'); break; end
if size(Y) ~= size(Wy), disp('Incompatible Y and Wy'); break; end

V = [X,Y];
W = [Wx,Wy];
tofix = find(any(W'==0));
FF = [F',-eye(m)];

for i = 1:length(tofix)
   v = V(tofix(i),:)';
   w = W(tofix(i),:)';
   NOK = find(w==0);
   OK = find(w~=0);
   FOK = FF(:,OK);
   FNOK = FF(:,NOK);
   V(tofix(i),NOK) = (-pinv(FNOK'*FNOK)*FNOK'*FOK*v(OK))';
end

Xhat = V(:,1:n);
Yhat = V(:,n+1:n+m);

⌨️ 快捷键说明

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