Mercurial > hg > camir-ismir2012
annotate toolboxes/FullBNT-1.0.7/KPMstats/mkPolyFvec.m @ 0:cc4b1211e677 tip
initial commit to HG from
Changeset:
646 (e263d8a21543) added further path and more save "camirversion.m"
author | Daniel Wolff |
---|---|
date | Fri, 19 Aug 2016 13:07:06 +0200 |
parents | |
children |
rev | line source |
---|---|
Daniel@0 | 1 function p = mkPolyFvec(x) |
Daniel@0 | 2 % MKPOLYFVEC Make feature vector by constructing 2nd order polynomial from input data |
Daniel@0 | 3 % function p = mkPolyFvec(x) |
Daniel@0 | 4 % |
Daniel@0 | 5 % x(:,i) for example i |
Daniel@0 | 6 % p(:,i) = [x(1,i) x(2,i) x(3,i) x(1,i)^2 x(2,i)^2 x(3,i)^2 .. |
Daniel@0 | 7 % x(1,i)*x(2,i) x(1,i)*x(3,i) x(2,i)*x(3,i)]' |
Daniel@0 | 8 % |
Daniel@0 | 9 % Example |
Daniel@0 | 10 % x = [4 5 6]' |
Daniel@0 | 11 % p = [4 5 6 16 25 36 20 24 30]' |
Daniel@0 | 12 |
Daniel@0 | 13 fvec = x; |
Daniel@0 | 14 fvecSq = x.*x; |
Daniel@0 | 15 [D N] = size(x); |
Daniel@0 | 16 fvecCross = zeros(D*(D-1)/2, N); |
Daniel@0 | 17 i = 1; |
Daniel@0 | 18 for d=1:D |
Daniel@0 | 19 for d2=d+1:D |
Daniel@0 | 20 fvecCross(i,:) = x(d,:) .* x(d2,:); |
Daniel@0 | 21 i = i + 1; |
Daniel@0 | 22 end |
Daniel@0 | 23 end |
Daniel@0 | 24 p = [fvec; fvecSq; fvecCross]; |