我的问题是关于Matlab中的slicesample
。它分为两部分:
1)切片采样结构: 假设这是密度函数
function den=f(param)
den=mvnpdf(param);
end
这是我对主要功能的尝试
N = 3;
param = slicesample([1 2 3 4 5 6 7],N,'pdf',f);
它告诉我Error using f (line 2) Not enough input arguments.
错误在哪里?
2)3
中包含的param
点是来自3
的{{1}} param
的随机抽取?
答案 0 :(得分:3)
您需要在 Highlighted -> highlighted1,highlighted2,highlighted3,highlighted4,normal6,normal7 highlighted7,highlighted8.highlighted9,highlighted10,normal13,normal14 and so on
Normal -> Noraml1,normal2,normal3,normal4,normal5,highlighted5,highlighted6,normal7,normal8,normal9,normal10,normal11,normal12,highlighted11,highlighted12 and so on
之前使用@
,因此命令应为
f
slicesample
的文档详细说明了这一点。
param = slicesample([1 2 3 4 5 6 7], N, 'pdf', @f);
的结果是来自slicesample
给出f
中每个初始样本的分布的3个随机样本。所以我在一次运行中的输出是
[1 2 3 4 5 6 7]
而另一个是
param = slicesample([1 2 3 4 5 6 7], N, 'pdf', @f)
param =
0.9519 4.5174 2.8350 2.0869 4.3373 6.0897 7.0216
2.5261 4.8106 3.1633 3.1249 1.8355 5.4323 6.1954
2.0635 5.7164 2.1639 2.6342 1.6730 5.5212 6.0935