📄 qmap.html
字号:
<html><head> <meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=ISO-8859-1"> <title>qmap.m</title><link rel="stylesheet" type="text/css" href="../../m-syntax.css"></head><body><code><span class=defun_kw>function</span> <span class=defun_out>Y</span>=<span class=defun_name>qmap</span>(<span class=defun_in>X</span>)
<br><span class=h1>% QMAP Quadratic data mapping.
</span><br><span class=help>%
</span><br><span class=help>% <span class=help_field>Synopsis:</span></span><br><span class=help>% Y = qmap(X)
</span><br><span class=help>% out_data = qmap(in_data)
</span><br><span class=help>%
</span><br><span class=help>% <span class=help_field>Description:</span></span><br><span class=help>% Y = qmap(X) mapps input n-dimensional data X into a new
</span><br><span class=help>% (n*(n+3)/2)-dimensional space using the quadratic mapping. An
</span><br><span class=help>% input vector x=X(:,i) is mapped to its image y=Y(:,i) such that
</span><br><span class=help>%
</span><br><span class=help>% y = [x(1) ;x(2) ;...;x(n);
</span><br><span class=help>% x(1)*x(1);x(1)*x(2);...;x(1)*x(n);
</span><br><span class=help>% x(2)*x(2);...;x(2)*x(n);
</span><br><span class=help>% ...
</span><br><span class=help>% x(n)*x(n)]
</span><br><span class=help>%
</span><br><span class=help>% out_data = qmap(in_data) use to map labeled data such that
</span><br><span class=help>% out_data.X = qmap(in_data.X)
</span><br><span class=help>% out_data.y = in_data.y
</span><br><span class=help>%
</span><br><span class=help>% <span class=help_field>Example:</span></span><br><span class=help>% orig_data = load('vltava');
</span><br><span class=help>% map_data = qmap(orig_data);
</span><br><span class=help>% lin_model = perceptron(map_data);
</span><br><span class=help>% quad_model = lin2quad(lin_model);
</span><br><span class=help>% figure; ppatterns(orig_data);
</span><br><span class=help>% pboundary(quad_model);
</span><br><span class=help>%
</span><br><span class=help>% See also
</span><br><span class=help>% LIN2QUAD, QUADCLASS.
</span><br><span class=help>%
</span><br><hr><br><span class=help1>% <span class=help1_field>(c)</span> Statistical Pattern Recognition Toolbox, (C) 1999-2003,
</span><br><span class=help1>% Written by Vojtech Franc and Vaclav Hlavac,
</span><br><span class=help1>% <a href="http://www.cvut.cz">Czech Technical University Prague</a>,
</span><br><span class=help1>% <a href="http://www.feld.cvut.cz">Faculty of Electrical engineering</a>,
</span><br><span class=help1>% <a href="http://cmp.felk.cvut.cz">Center for Machine Perception</a>
</span><br><br><span class=help1>% <span class=help1_field>Modifications:</span>
</span><br><span class=help1>% 17-may-2004, VF
</span><br><span class=help1>% 22-Oct-2003, VF
</span><br><span class=help1>% 26-June-2001, V.Franc, comments repared.
</span><br><span class=help1>% 24. 6.00 V. Hlavac, comments polished.
</span><br><br><hr><span class=comment>% if labeled data (struct (X,y)) enters the function
</span><br><span class=comment>% then the mapping is performed on the vectors and the
</span><br><span class=comment>% labels are preserved
</span><br><span class=keyword>if</span> isstruct(X), tmp = X.y; X = X.X; <span class=keyword>else</span> tmp = []; <span class=keyword>end</span>
<br>
<br><span class=comment>% dimension
</span><br>[dim,num_data]=size(X);
<br>
<br>new_dim=dim*(dim+3)/2;
<br>
<br>Y=zeros(new_dim,num_data);
<br>
<br>Y(1:dim,:)=X;
<br>
<br>inx=dim+1;
<br><span class=keyword>for</span> i=1:dim,
<br> <span class=keyword>for</span> j=i:dim,
<br> Y(inx,:)=X(i,:).*X(j,:);
<br> inx=inx+1;
<br> <span class=keyword>end</span>
<br><span class=keyword>end</span>
<br>
<br><span class=comment>% deals with labeled data
</span><br><span class=keyword>if</span> ~isempty(tmp) Y.X = Y; Y.y = tmp; <span class=keyword>end</span>
<br>
<br><span class=jump>return</span>;
<br><span class=comment>% EOF</span><br></code>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -