rescale

Диапазон шкалы элементов массива

Описание

пример

B = rescale(A) масштабирует записи массива к интервалу [0,1]. Выходной массив B одного размера с A.

пример

B = rescale(A,l,u) масштабирует записи массива к интервалу [l, u].

пример

B = rescale(___,Name,Value) задает дополнительные параметры для масштабирования массива для любого из предыдущих синтаксисов. Например, rescale(A,'InputMin',5) наборы все элементы в A это меньше 5 равных 5 прежде, чем масштабироваться к области значений [0,1].

Примеры

свернуть все

Масштабируйте записи вектора к интервалу [0,1].

A = 1:5;
B = rescale(A)
B = 1×5

         0    0.2500    0.5000    0.7500    1.0000

Масштабируйте элементы вектора к интервалу [-1,1].

A = 1:5;
B = rescale(A,-1,1)
B = 1×5

   -1.0000   -0.5000         0    0.5000    1.0000

Масштабируйте каждый столбец матрицы к интервалу [0,1] путем определения минимума и максимума каждого столбца. rescale шкалы по измерению входного массива, который соответствует форме 'InputMin' и 'InputMax' значения параметров.

A = magic(3)
A = 3×3

     8     1     6
     3     5     7
     4     9     2

colmin = min(A)
colmin = 1×3

     3     1     2

colmax = max(A)
colmax = 1×3

     8     9     7

Bcol = rescale(A,'InputMin',colmin,'InputMax',colmax)
Bcol = 3×3

    1.0000         0    0.8000
         0    0.5000    1.0000
    0.2000    1.0000         0

Масштабируйте каждую строку A к интервалу [0,1].

rowmin = min(A,[],2)
rowmin = 3×1

     1
     3
     2

rowmax = max(A,[],2)
rowmax = 3×1

     8
     7
     9

Brow = rescale(A,'InputMin',rowmin,'InputMax',rowmax)
Brow = 3×3

    1.0000         0    0.7143
         0    0.5000    1.0000
    0.2857    1.0000         0

Входные параметры

свернуть все

Входной массив, заданный как скалярный, векторный, матричный или многомерный массив.

  • Если A имеет вводят single, затем выход также имеет, вводят single. В противном случае выход имеет, вводят double.

  • Если A скаляр, затем rescale возвращает нижнюю границу интервала (0 по умолчанию) или NaN (когда выходная область значений содержит Inf).

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Нижняя граница в виде скаляра, вектора, матрицы или многомерного массива. l должен иметь размер, который совместим с входным массивом. Например, если A M-by-N матрица, затем rescale действует по измерению, продиктованному формой l:

  • Если l скаляр, затем rescale использование это как нижняя граница для всех элементов A.

  • Если l 1 N вектором-строкой, затем rescale использование каждый элемент как нижняя граница для соответствующего столбца A.

  • Если l M-by-1 вектор-столбец, затем rescale использование каждый элемент как нижняя граница для соответствующей строки A.

Для получения дополнительной информации о совместимых размерах массивов смотрите Совместимые Размеры Массивов для Основных Операций.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Верхняя граница в виде скаляра, вектора, матрицы или многомерного массива. u должен иметь размер, который совместим с входным массивом. Например, если A M-by-N матрица, затем rescale действует по измерению, продиктованному формой u:

  • Если u скаляр, затем rescale использование это как верхняя граница для всех элементов A.

  • Если u 1 N вектором-строкой, затем rescale использование каждый элемент как верхняя граница для соответствующего столбца A.

  • Если u M-by-1 вектор-столбец, затем rescale использование каждый элемент как верхняя граница для соответствующей строки A.

Для получения дополнительной информации о совместимых размерах массивов смотрите Совместимые Размеры Массивов для Основных Операций.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: B = rescale(A,'InputMin',5,'InputMax',10)

Минимум входного диапазона в виде скаляра, вектора, матрицы или многомерного массива. Значение по умолчанию для входного массива A min(A(:)). Определение входного диапазона или расширяет или уменьшает область значений входных данных. Например, rescale наборы все элементы, которые меньше заданного входного минимума к 'InputMin' значение перед масштабированием.

'InputMin' значение должно иметь размер, который совместим с входным массивом. Например, если A M-by-N матрица, затем rescale действует по измерению, продиктованному формой входного минимума:

  • Если входной минимум является скаляром, то rescale использование, что минимальное значение для всех элементов A.

  • Если входной минимум является 1 N вектором-строкой, то rescale использование каждый элемент как минимум для соответствующего столбца A.

  • Если входным минимумом является M-by-1 вектор-столбец, то rescale использование каждый элемент как минимум для соответствующей строки A.

Для получения дополнительной информации о совместимых размерах массивов смотрите Совместимые Размеры Массивов для Основных Операций.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Максимум входного диапазона в виде скаляра, вектора, матрицы или многомерного массива. Значение по умолчанию для входного массива A max(A(:)). Определение входного диапазона или расширяет или уменьшает область значений входных данных. Например, rescale наборы все элементы, которые больше заданного входного максимума к 'InputMax' значение перед масштабированием.

'InputMax' значение должно иметь размер, который совместим с входным массивом. Например, если A M-by-N матрица, затем rescale действует по измерению, продиктованному формой входного максимума:

  • Если входной максимум является скаляром, то rescale использование, что максимальное значение для всех элементов A.

  • Если входной максимум является 1 N вектором-строкой, то rescale использование каждый элемент как максимум для соответствующего столбца A.

  • Если входным максимумом является M-by-1 вектор-столбец, то rescale использование каждый элемент как максимум для соответствующей строки A.

Для получения дополнительной информации о совместимых размерах массивов смотрите Совместимые Размеры Массивов для Основных Операций.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Алгоритмы

B = rescale(A,l,u,'InputMin',inmin,'InputMax',inmax) использует формулу

l + [(A-inmin)./(inmax-inmin)].*(u-l)

масштабировать элементы массива A когда значения A в границах inmin и inmax.

  • Если l и u не заданы, затем rescale использует значения по умолчанию 0 и 1, соответственно.

  • Если 'InputMin' пара "имя-значение" не задана, затем rescale устанавливает его значение к min(A(:)) по умолчанию.

  • Если 'InputMax' пара "имя-значение" не задана, затем rescale устанавливает его значение к max(A(:)) по умолчанию.

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

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

Смотрите также

| | |

Введенный в R2017b