mkpolyfvec.m

来自「详细介绍了隐马尔科夫链的原理和matlab代码实现」· M 代码 · 共 25 行

M
25
字号
function p = mkPolyFvec(x)
% MKPOLYFVEC Make feature vector by constructing 2nd order polynomial from input data
% function p = mkPolyFvec(x)
%
% x(:,i) for example i
% p(:,i) = [x(1,i) x(2,i) x(3,i) x(1,i)^2 x(2,i)^2 x(3,i)^2 ..
%           x(1,i)*x(2,i) x(1,i)*x(3,i) x(2,i)*x(3,i)]'
%
% Example
% x = [4 5 6]'
% p = [4 5 6  16 25 36  20 24 30]'

fvec = x;
fvecSq = x.*x;
[D N] = size(x);
fvecCross = zeros(D*(D-1)/2, N);
i = 1;
for d=1:D
  for d2=d+1:D
    fvecCross(i,:) = x(d,:) .* x(d2,:);
    i = i + 1;
  end
end
p = [fvec; fvecSq; fvecCross];

⌨️ 快捷键说明

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