当我想评估正态分布向量的期望时,我遇到了函数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.
请帮助,如果有人知道如何解决这个问题。
答案 0 :(得分: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)
但是这并没有解决另一个问题:即使输入x
和y
是标量,积分也有矢量输出。
对我来说,为什么你试图加倍整合这个功能实际上是没有意义的。看起来p2
中变量X中的元素都有独立的输出......