Make an double integral function

5 ビュー (過去 30 日間)
pankaj singh
pankaj singh 2021 年 11 月 25 日
回答済み: Bjorn Gustavsson 2021 年 11 月 25 日
I want to make the double integration function (as per the formula shown in figure below) and then evaluate the integral for the given range of x and y. Please help me make the function.
My code is something like this but gives error:
fun = @(x,y) 1/sqrt(2*pi).*exp(-x.^2/2).*exp(-1/2.*(y+(u_j-u_m)/sigma_sq)).^2);
q = integral2(fun,y,Inf,-Inf,inf);

採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2021 年 11 月 25 日
By putting the product inside the first pair of square brackets you've made the formula look a little bit confusing - since the only factors that depend on j and m_n are outside that parenthesized factor, but I'll give it a try...
The inner integral over x is just the error-function:
(erf(y/2^(1/2)) + 1)/2
This should give you a modified function, something like this:
fun = @(y) ((erf((2^(1/2)*y)/2) + 1))/2.*exp(-1/2*(y+(u_j-u_m)/s_n).^2);
Which for your desired values of u_j, u_m and s_n will integrate just fine from -inf to inf.
HTH

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeCommunications Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by