MATLAB의 mvnpdf() 함수

Ammar Ali 2022년6월13일
MATLAB의 mvnpdf() 함수

이 튜토리얼에서는 MATLAB의 mvnpdf() 함수를 사용하여 다변량 정규 분포의 확률 밀도 함수를 평가하는 방법에 대해 설명합니다.

MATLAB에서 mvnpdf() 함수 사용

둘 이상의 변수에 대한 일변량 정규 분포의 일반화된 버전의 다변량 정규 분포입니다. 다변량 정규 분포에는 공분산 행렬과 평균 벡터를 포함하여 일변량 정규 분포와 유사한 두 개의 매개변수가 있습니다.

공분산 행렬의 비대각선 요소에는 변수 간의 공분산이 포함되고 공분산 행렬의 대각 요소에는 각 변수에 대한 분산이 포함됩니다. MATLAB에서 mvnpdf() 함수를 사용하여 다변량 정규 분포의 확률 밀도 함수를 찾습니다.

mvnpdf() 함수에는 아래에 주어진 세 가지 구문이 있습니다.

통사론:

output = mvnpdf(input)
output = mvnpdf(input, mu)
output = mvnpdf(input, mu, sigma)

output = mvnpdf(input)은 차원 m의 다변량 정규 분포를 포함하는 입력 행렬의 nx1 벡터로 확률 밀도 함수를 반환합니다. 이 함수는 nxm 차원을 따라 각 입력 행렬 행의 출력값을 평가합니다.

output = mvnpdf(input, mu)는 다변량 정규 분포의 평균값을 정의하는 mu 변수에 따라 확률 밀도 함수를 반환합니다. 세 번째 구문에는 다변량 정규 분포의 공분산을 정의하는 변수 sigma도 포함됩니다.

output = mvnpdf(input, mu, sigma)에서 sigma의 값만 지정하고 mu의 기본값을 사용하려는 경우 빈 벡터를 값으로 전달할 수 있습니다. mu 변수를 두 번째 인수로 지정하고 sigma 값을 세 번째 인수로 설정합니다. mvnrnd() 함수를 사용하여 난수를 포함하는 다변량 정규 분포 행렬을 만들 수 있습니다.

무작위 다변량 정규 분포를 생성하려면 mvnrnd() 함수 내부에 musigma 변수의 값을 전달해야 합니다. mvnrnd() 함수 내에서 숫자를 세 번째 인수로 정의하여 출력 행렬의 행 수를 설정할 수도 있습니다.

예를 들어, mrnrnd() 함수를 사용하여 다변량 정규 분포의 무작위 행렬을 만든 다음 mvnpdf() 함수를 사용하여 확률 밀도 함수를 찾습니다.

예제 코드:

mu_v = zeros(1,4);
Sigma_m = eye(4);
rng('default')
random_mvn = mvnrnd(mu_v,Sigma_m,6)
out_pdf = mvnpdf(random_mvn)

출력:

random_mvn =

    0.5377   -0.4336    0.7254    1.4090
    1.8339    0.3426   -0.0631    1.4172
   -2.2588    3.5784    0.7147    0.6715
    0.8622    2.7694   -0.2050   -1.2075
    0.3188   -1.3499   -0.1241    0.7172
   -1.3077    3.0349    1.4897    1.6302

out_pdf =

    0.0057
    0.0016
    0.0000
    0.0002
    0.0074
    0.0000

zeros() 함수를 사용하여 mu 변수에 대한 벡터를 생성하고 eye() 함수를 사용하여 sigma 변수에 대한 행렬 생성, rng() 함수를 사용하여 랜덤 제어 숫자 생성기를 사용하고 재현성을 위해 기본값으로 설정했습니다. 위의 출력은 다변량 정규 분포의 랜덤 행렬과 확률 밀도 함수 값을 포함하는 벡터를 보여줍니다.

다른 평균 값에 따라 특정 지점에서 확률 밀도 함수를 찾고 싶다고 가정합니다. mu 변수의 평균 값을 mvnpdf() 함수 내부의 두 번째 인수로 정의할 수 있습니다.

mu 행렬 크기는 다변량 정규 분포의 입력 행렬 크기와 같아야 합니다.

특정 지점에서 다른 공분산 값에 따라 확률 밀도 함수를 찾고 싶다고 가정합니다. sigma 변수의 공분산 값을 mvnpdf() 함수 내부의 세 번째 인수로 정의할 수 있습니다.

sigma 행렬의 열 개수는 다변량 정규 분포 입력 행렬의 열 개수와 같아야 합니다. 동일한 지점에서 확률 밀도 함수를 찾으려면 mu 변수 내에서 동일한 지점을 반복할 수 있으며 기본적으로 mu 변수는 0의 벡터이고 sigma 변수는 a입니다. 1의 행렬.

mvnpdf() 기능에 대한 자세한 내용은 이 링크를 확인하거나 mvnrnd() 기능에 대한 자세한 내용은 이 링크를 확인하십시오.

작가: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

관련 문장 - MATLAB Function