exteriorPenalty

Внешнее значение штрафа для точки относительно ограниченной области

    Описание

    пример

    p = exteriorPenalty(x,xmin,xmax,method) использует заданный method вычислить неотрицательный (внешний) вектор штрафа p для точки x относительно области, ограниченной xmin и xmaxP имеет ту же размерность как x.

    Примеры

    свернуть все

    В этом примере показано, как использовать exteriorPenalty функция, чтобы вычислить внешний штраф за данную точку, относительно ограниченной области.

    Вычислите значение штрафа для точки 0.1 в интервале [-2,2], использование step метод.

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

    Вычислите значение штрафа для точки 4 вне интервала [-2,2], использование step метод.

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

    Вычислите значение штрафа для точки 4 вне интервала [-2,2], использование quadratic метод.

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

    Вычислите значение штрафа для точки [-2,0,4] относительно поля, заданного интервалами [0,1], [-1,1], и [-2,2] вдоль x, y, и z размерностей, соответственно, с помощью quadratic метод.

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

    Визуализируйте значения штрафа для интервала

    Создайте вектор из 1 001 равноотстоящей точки, распределенной между-5 и 5.

    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'. Можно также использовать строки вместо векторов символов.

    Пример: "quadratic"

    Выходные аргументы

    свернуть все

    Значение штрафа, возвращенное как вектор из неотрицательных элементов. С любым из этих двух методов, каждый элемент pi нуль если соответствующий xi в области, заданной xmini и xmaxi, и это положительно в противном случае. Функции штрафа обычно используются, чтобы сгенерировать отрицательные вознаграждения, когда ограничения нарушены, такой как в generateRewardFunction.

    Расширенные возможности

    Генерация кода C/C++
    Генерация кода C и C++ с помощью MATLAB® Coder™.

    Введенный в R2021b