2012-10-02 43 views
1

我試圖運行下面的代碼:四與mvnpdf涉及載體在MATLAB

[email protected](x)mvnpdf([6 x],[0 0],[1 0;0 1]); 
P=quad(F,12,100); 

從12獲得x2概率整合到聯合高斯分佈的100。 但是matlab的報告此錯誤:

X and MU must have the same number of columns.

這是非常奇怪的我,因爲當我運行F(1)F(2),或者類似的東西它運行正常。

爲什麼會出現一個錯誤,當我用四,整合mvnpdf功能?

爲什麼給函數F,不是標參數quad,?

回答

1

這是因爲quad傳遞值的向量到F,而不是一個單一的值。您需要在您的F中處理,例如這樣

F = @(X)mvnpdf([repmat(6, size(X(:),1), 1) X(:)],[0,0],[1,0;0,1]); 

我已經簡單地重複數6多次,因爲有在矢量X行。需要注意的是X需要一個列向量,這就是爲什麼我明確地將其轉換爲這樣的X(:)。現在你可以寫

F(1:100) 

沒有得到一個錯誤。

+0

非常感謝你,@angainor!這是現在的作品。我認爲四功能的工作原理是,首先計算向量x的函數結果包含了許多X,你會得到一個Y,其次整合是由Y *三角洲(X)獲得的。 –