【问题标题】:Questions about slicesample in Matlab?关于 Matlab 中 slicesample 的问题?
【发布时间】:2015-09-24 23:08:28
【问题描述】:

我的问题是关于 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) param 中包含的3 点是3param 随机抽取的f

【问题讨论】:

标签: matlab


【解决方案1】:

你需要在f之前使用@所以命令应该是

param = slicesample([1 2 3 4 5 6 7], N, 'pdf', @f);

slicesample 的文档中有详细说明。

slicesample 的结果是来自f[1 2 3 4 5 6 7] 中的每个初始样本给出的分布中的3 个随机样本。所以我一次运行的输出是

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

另一个是

>> param = slicesample([1 2 3 4 5 6 7], N, 'pdf', @f)
param =

    0.2897    3.2341    2.9016    4.3718    3.7444    4.9612    7.3525
    0.3242    4.7909    1.4022    3.0182    5.1264    2.6466    6.5270
    1.6639    5.5771    0.4790    3.3013    2.6992    2.3913    6.5019

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-15
    • 2011-07-09
    • 2013-01-22
    • 2011-07-25
    • 2011-07-01
    • 1970-01-01
    相关资源
    最近更新 更多