我有 3 个向量:npdf,
tn(:,1)
并且正在逐行tn(:,2)
查找 in 的值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
每次找到 in 的值时npdf
,tn(:,2)
它都会从 中选择一个值tn(:,1)
。
这就是问题所在:如果它无法从 tn(:,2) 中的 npdf 中找到值,那么我需要在 tn(:,2) 中选择最接近的值(以大小为单位)并继续。要么是最接近的值之间的插值,要么是某种插值。你将如何最有效地做到这一点?
由您自行决定更改代码,对我来说它看起来不是很有效。