[英]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.