关于在Matlab中的sliceample的问题?

时间:2015-09-24 15:00:14

标签: matlab

我的问题是关于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的随机抽取?

1 个答案:

答案 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