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");

    Figure contains an axes object. The axes object with title Penalty values over an interval, xlabel point position, ylabel penalty value contains an object of type line.

    입력 인수

    모두 축소

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

    예: [-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에 개발됨