私は3つのベクトルを持っています:npdf,
tn(:,1)
そして、行ごとにintn(:,2)
の値を見つけています:npdf
tn(:,2)
[npdf(1:20,1), tn(1:20,:)]
ans =
8.0000 3.0000 1.0000
11.0000 2.9167 1.0000
1.0000 3.3000 1.0000
11.0000 1.2167 1.0000
5.0000 2.8167 1.0000
1.0000 2.4000 1.0000
2.0000 2.4500 1.0000
4.0000 0.2500 1.0000
15.0000 3.7500 1.0000
15.0000 4.9167 1.0000
1.0000 2.8167 2.0000
17.0000 0.2500 2.0000
15.0000 1.0000 3.0000
4.0000 3.0000 3.0000
8.0000 0.5833 3.0000
1.0000 0.5833 3.0000
3.0000 5.0000 5.0000
11.0000 3.7500 6.0000
8.0000 3.0000 7.0000
15.0000 2.8000 7.0000
for i=1:length(npdf)
[LOCA,~]=ismember(tn(:,2),npdf(i,1,1));
dummy=find(LOCA~=0);
tpdf(i,1)=tn(randi(length(dummy),1,1),1);
end
の値を見つけるたびに、から値npdf
をtn(:,2)
選択しますtn(:,1)
。
問題は次のとおりです。tn(:,2) で npdf の値を見つけることができない場合は、tn(:,2) で最も近い値 (大きさ) を選択して続行する必要があります。それか、最も近い値の間のある種の補間のいずれか..これを最も効率的に行うにはどうすればよいですか?
あなたの裁量でコードを変更すると、私にはあまり効率的ではないように見えます。