1

当我想评估正态分布向量的期望时,我遇到了函数 dblquad 的问题。这是一个代码:

p2 = @(X)(mvnpdf(X,zeros(4,1),sigma2));
int1 = dblquad(@(x, y)(p2([x; y; Y1])), 0,1,0,1)

其中 Y1 是 [a;b] - 常数向量。它会出现这样的错误:

??? Error using ==> vertcat
CAT arguments dimensions are not consistent.

请帮助,如果有人知道如何纠正这个问题。

4

1 回答 1

0

被积函数应该能够接受矢量输入。现在是

@(x, y)(p2([x; y; Y1]))

如果 x 或 y 或向量,这将出错。因此??? Error using ==> vertcat.

这可以通过使用 arrayfun 来解决:

@(x, y) arrayfun(@(yi) arrayfun(@(xi) p2([xi; yi; Y1]), x), y)

但这并没有解决另一个问题:被积函数具有向量输出,即使输入xy是标量。

实际上,为什么您要尝试双重集成该功能对我来说毫无意义。看起来p2每个变量 X 中的元素都有一个独立的输出......

于 2012-05-20T13:34:12.140 回答