Main Content

exteriorPenalty

경계가 지정된 영역에 대한 점의 외부 벌점 값

R2021b 이후

    설명

    예제

    p = exteriorPenalty(x,xmin,xmax,method)는 지정된 method를 사용하여 xminxmax로 경계가 지정된 영역에 대해 점 x의 음이 아닌 (외부) 벌점 벡터 p를 계산합니다. px와 차원이 같습니다.

    예제

    모두 축소

    이 예제에서는 exteriorPenalty를 사용하여 경계가 지정된 영역에 대해 주어진 점의 외부 벌점을 계산하는 방법을 보여줍니다.

    step 메서드를 사용하여 구간 [-2,2] 내에 있는 점 0.1에 대한 벌점 값을 계산합니다.

    exteriorPenalty(0.1,-2,2,"step")
    ans = 0
    

    step 메서드를 사용하여 구간 [-2,2] 밖에 있는 점 4에 대한 벌점 값을 계산합니다.

    exteriorPenalty(4,-2,2,"step")
    ans = 1
    

    quadratic 메서드를 사용하여 구간 [-2,2] 밖에 있는 점 4에 대한 벌점 값을 계산합니다.

    exteriorPenalty(4,-2,2,"quadratic")
    ans = 4
    

    quadratic 메서드를 사용하여 x, y, z 차원을 따라 각각 구간 [0,1], [-1,1], [-2,2]로 정의된 상자에 대해 점 [-2,0,4]의 벌점 값을 계산합니다.

    exteriorPenalty([-2 0 4],[0 -1 -2],[1 1 2],"quadratic")
    ans = 3×1
    
         4
         0
         4
    
    

    구간에 대한 벌점 값 시각화하기

    -55 사이에 분포된 1001개의 등거리 점으로 구성된 벡터를 만듭니다.

    x = -5:0.01:5;

    quadratic 메서드를 사용하여 벡터에 있는 모든 점에 대한 벌점을 계산합니다.

    p = exteriorPenalty(x,-2,2,"quadratic");

    점들을 플로팅하고 그리드, 레이블, 제목을 추가합니다.

    plot(x,p)
    grid
    xlabel("point position");
    ylabel("penalty value");
    title("Penalty values over an interval");

    입력 인수

    모두 축소

    외부 벌점이 계산되는 점으로, 숫자형 스칼라, 벡터 또는 행렬로 지정됩니다.

    예: [-0.1, 1.3]

    x에 대한 하한으로, 숫자형 스칼라, 벡터 또는 행렬로 지정됩니다. x의 모든 요소에 대해 동일한 최솟값을 사용하려면 xmin을 스칼라로 지정하십시오.

    예: -2

    x에 대한 상한으로, 숫자형 스칼라, 벡터 또는 행렬로 지정됩니다. x의 모든 요소에 대해 동일한 최댓값을 사용하려면 xmax를 스칼라로 지정하십시오.

    예: [5 10]

    벌점 계산에 사용되는 함수로, 'step' 또는 'quadratic'으로 지정됩니다. 문자형 벡터 대신 string형을 사용할 수도 있습니다.

    예: "quadratic"

    출력 인수

    모두 축소

    벌점 값으로, 음이 아닌 요소로 구성된 벡터로 반환됩니다. 두 메서드 중 어느 하나를 사용할 경우, 해당 xixminixmaxi에 의해 지정된 영역에 있으면 각 요소 pi는 0이고 그 외의 경우에는 양수입니다. 벌점 함수는 일반적으로 generateRewardFunction에서와 같이 제약 조건이 위반되었을 때 음의 보상을 생성하는 데 사용됩니다.

    확장 기능

    C/C++ 코드 생성
    MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

    버전 내역

    R2021b에 개발됨