加权采样有2个向量

时间:2013-05-14 17:21:29

标签: matlab random-sample

(1)我有两个列向量。

                           Eg. x = [283167.778           
                                   *289387.207                
                                   289705.322]            

                               y = [9121643.314
                                    9098348.666*
                                    9099832.621]

(2)我想使用这些向量进行加权随机抽样:当我在向量x中选择元素289387.207时,我必须在向量y中选择元素9098348.666。

(3)此外,我有向量x和y中每个元素的加权w向量。

如何在MatLab中实现此功能? 谢谢!

1 个答案:

答案 0 :(得分:1)

随机选择:

sel_idx= randi(3);
outputx = x(sel_idx);
outputy = y(sel_idx);

随机称量:

w = rand(size(x));
w = w./sum(w); % normalize
outputx = w(:)'*x(:);
outputy = w(:)'*y(:);