簡體   English   中英

MATLAB-具有很少參數的函數積分

[英]MATLAB - function integral with few arguments

我想問一下如何在MATLAB中計算以下積分。

integral( PN(x,m,s), x(-Inf,Inf) , m>0 , s>0.

我創建了一個功能文件pn ,它是:

function PN = pn(x,m,s)
    PN = exp(-(x-m).^2 ./ (2*s.^2)) ./ sqrt(2*pi*s.^2);
end

和腳本begin.m

%ezplot(@(x)pn(x,0,1),[-3,3])  --> This is OK!
quad(pn(x,m,s),x,-Inf,Inf)     --> I can't manipulate this, I tried several ways.

積分的答案必須為“ 1”。

quad和其他集成例程希望在其第一個插槽中有一個功能句柄 另外,該功能必須不包括矢量輸入和返回矢量輸出。 要解決您的問題,請嘗試執行此操作,

m=0;
s=1;
F = @(x) pn(x,m,s);  % a function handle
quadgk(F,-inf,inf)   % quadgk excepts -inf to inf as limits

這應該做您想要的。

我建議將其分解為兩個積分的和:一個從-Inf到零,另一個從零到+ Inf。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM