資源簡介
PLS片最小二乘matlab程序,用于對數據的特征提取。
代碼片段和文件信息
function?[TPUQBW]=pls(XYtol2)
x=[4?9?6?7?7?8?3?2;6?15?10?15?17?22?9?4;8?21?14?23?27?36?15?6;
10?21?14?13?11?10?3?4;?12?27?18?21?21?24?9?6;?14?33?22?29?31?38?15?8;
16?33?22?19?15?12?3?6;?18?39?26?27?25?26?9?8;20?45?30?35?35?40?15?10];
y=[1?1;3?1;5?1;1?3;3?3;5?3;1?5;3?5;5?5];
N=size(x1);????%?N=9
x1=x(1:N-1:);
y1=y(1:N-1:);
x2=x(N:);
y2=y(N:);
xmean=mean(x1);
xstd=std(x1);
ymean=mean(y1);
ystd=std(y);
X=(x1-xmean(ones(N-11):))./xstd(ones(N-11):);
Y=(y1-ymean(ones(N-11):))./ystd(ones(N-11):);
[TPUQBW]=pls(XY);
yp?=?(x2-xmean)./xstd?*?(P*B*Q‘);
fprintf(‘Prediction?error:?%g\n‘norm(yp-(y2-ymean)./ystd));
error(nargchk(13nargin));
error(nargoutchk(06nargout));
if?nargin<2
????Y=X;
end
tol?=?1e-10;
if?nargin<3
????tol2=1e-10;
end
評論
共有 條評論