Matlab에서 확률 측정 값의 밀도를 구현하고 싶습니다. 이를 위해 I 함수 핸들로 density
정의 같은 [A, B]를Matlab의 Dirac 확률 측정
syms x
int(f(x)*density(x),x,a,b)
의해 계산 될 수있는 간격으로 (함수 핸들로 주어진다) 어떤 함수 f의 적분은이 디랙 측정 올 때 문제는 그 것입니다
int(dirac(x),x,0,b)
은 모든 b> 0에 대해 1 대신 값 1/2을 전달합니다. 그러나 I 그것이되어야 같은 < 0 및 b> 0 리턴 값이 1
int(dirac(x),x,a,b)
입력하면. 이 이유 때문에 모든 간격 [a, b]에서 내 밀도를 유효하게하려면 2를 곱하면 충분하지 않습니다. 또한 통합하기 전에 뚜렷한 사례를 원하지 않아 코드가 많은 밀도의 클래스에 유효하게 유지됩니다.
Matlab에서 Dirac 확률 측정법 (here)을 구현하는 방법을 아는 사람이 있습니까?
Dirac 분포는 모두 0으로 집중됩니다.그래서 낮은 통합 한계가 정확히 '0'일 때 적분을 정의하는 방법을 모르겠습니다. 낮은 통합 한계 값으로'-inf'를 사용할 수 없습니까? 또는 제한을 사용할 수도 있습니다 :'limit (int (dirac (x), x, a, b), a, 0, 'left')''1 '을 말합니다 –
@Luis Mendo 닫혀 야합니다. 따라서 dirac의 Integral은 정의 할 수 있습니다 (0이 intervall에 포함 된 경우에만 계산됩니다). 한계 해결책은 좋지만, 다른 밀도에 대한 적분 값을 계산하고 싶기 때문에 한계를 항상 계산하고 싶지는 않습니다 (아무도 더 좋은 결과를 얻지 못하면 어쨌든이 솔루션을 채택 할 것입니다). –
조금 후퇴하고 다른 접근 방식을 취하십시오. int (delta, 0, b)에 대해 고유하고 허용되는 정의는 없습니다. 여기에서의 문제는 델타 함수가 Matlab이 제공 한 것보다 어떻게 다른 컨벤션을 부과하고자하는 것처럼 "잘못된"대답을 얻는 것이 아니라는 것입니다. 예를 들어, Wolfram Alpha에서 이것을 평가하면, 그것은 쎄타 (0)를 줄 것입니다 - 이것은 특별히 무엇인가로 정의되지 않습니다. 여기서 theta는 Heaviside 함수입니다. 여기에 자신의 컨벤션을 부과하려는 경우, 자신의 델타 기능을 구현하십시오. – Brick