find_good_sample.m

来自「一个用EM算法的源程序」· M 代码 · 共 28 行

M
28
字号
function positiveSample = find_good_sample(X, normals)% Basic criteria for picking a good representive sample:% 1. X coordinates far away from the origin% 2. Its normal vector must not be short, which will be influenced more by% the noiseX_PERSERVATION_RATIO = 0.5;NORMAL_PERSERVATION_RATIO = 0.5;[ambientDimension sampleNumber]= size(X);for sampleIndex=1:sampleNumber    xNorm(sampleIndex)=norm(X(:,sampleIndex));end[ignored, index] = sort(xNorm,'descend');preserveIndex = ceil(sampleNumber*X_PERSERVATION_RATIO);normalNorm=zeros(1, preserveIndex);for sampleIndex = 1: preserveIndex    normalNorm(sampleIndex)=norm(normals(:,index(sampleIndex)));end[ignored,normalIndex] = sort(normalNorm,'descend');% Randomly pick one sample in 1/4 longest normal vector set.positiveSample = index(normalIndex(ceil(preserveIndex*rand()*NORMAL_PERSERVATION_RATIO)));

⌨️ 快捷键说明

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