Масштабная область значений элементов массива
масштабирует записи массива до интервала [0,1]. Массив выхода B
= rescale(A
)B
- тот же размер, что и A
.
задает дополнительные параметры для масштабирования массива для любого из предыдущих синтаксисов. Для примера, 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
- Входной массивВходной массив, заданный как скалярный, векторный, матричный или многомерный массив.
Если A
имеет тип single
, тогда выход также имеет тип single
. В противном случае выход имеет тип double
.
Если A
является скаляром, тогда rescale
возвращает нижнюю границу интервала (0 по умолчанию) или NaN
(когда выходная область значений содержит Inf
).
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
l
- Нижняя границаНижняя граница, заданная как скалярный, векторный, матричный или многомерный массив. l
должен иметь размер, совместимый с массивом входа. Для примера, если A
является M -by- N матрицей, затем rescale
действует вдоль размерности, диктуемой формой l
:
Если l
является скаляром, тогда rescale
использует его как нижнюю границу для всех элементов A
.
Если l
является вектором-строкой N 1 байт, затем rescale
использует каждый элемент в качестве нижней границы для соответствующего столбца A
.
Если l
является вектором M -by-1, затем rescale
использует каждый элемент как нижнюю границу для соответствующей строки A
.
Для получения дополнительной информации о совместимых размерах массивов см. «Совместимые размеры массивов для основных операций».
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
u
- Верхняя границаВерхняя граница, заданная как скалярный, векторный, матричный или многомерный массив. u
должен иметь размер, совместимый с массивом входа. Для примера, если A
является M -by- N матрицей, затем rescale
действует вдоль размерности, диктуемой формой u
:
Если u
является скаляром, тогда rescale
использует его как верхнюю границу для всех элементов A
.
Если u
является вектором-строкой N 1 байт, затем rescale
использует каждый элемент в качестве верхней границы для соответствующего столбца A
.
Если u
является вектором M -by-1, затем rescale
использует каждый элемент в качестве верхней границы для соответствующей строки A
.
Для получения дополнительной информации о совместимых размерах массивов см. «Совместимые размеры массивов для основных операций».
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
B = rescale(A,'InputMin',5,'InputMax',10)
'InputMin'
- Минимум входной области значенийМинимум входа области значений, заданный как скалярный, векторный, матричный или многомерный массив. Значение по умолчанию для массива входа A
является min(A(:))
. Установка входа области значений либо расширяет, либо сжимает область значений входных данных. Для образца, rescale
устанавливает все элементы, которые меньше заданного входного минимума, в 'InputMin'
значение перед масштабированием.
The 'InputMin'
значение должно иметь размер, совместимый с массивом входа. Для примера, если A
является M -by- N матрицей, затем rescale
действует вдоль размерности, диктуемой формой входа минимума:
Если вход минимум является скаляром, то rescale
использует это минимальное значение для всех элементов A
.
Если входной минимум является вектором-строкой N 1 байт, то rescale
использует каждый элемент как минимум для соответствующего столбца A
.
Если входной минимум является вектором-столбцом M-на-1, то rescale
использует каждый элемент как минимум для соответствующей строки A
.
Для получения дополнительной информации о совместимых размерах массивов см. «Совместимые размеры массивов для основных операций».
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
'InputMax'
- Максимум входной области значенийМаксимум входа областей значений, заданных как скалярный, векторный, матричный или многомерный массив. Значение по умолчанию для массива входа A
является max(A(:))
. Установка входа области значений либо расширяет, либо сжимает область значений входных данных. Для образца, rescale
устанавливает все элементы, которые больше заданного входного максимума, в 'InputMax'
значение перед масштабированием.
The 'InputMax'
значение должно иметь размер, совместимый с массивом входа. Для примера, если A
является M -by- N матрицей, затем rescale
действует вдоль размерности, диктуемой формой входа максимума:
Если входной максимум является скаляром, то rescale
использует это максимальное значение для всех элементов A
.
Если входной максимум является вектором-строкой N 1 байт, то rescale
использует каждый элемент как максимум для соответствующего столбца A
.
Если входной максимум является вектором-столбцом M-на-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(:))
.
Указания и ограничения по применению:
Входы l
и u
, и значение пар "имя-значение" 'InputMin'
и 'InputMax'
, не может иметь более одной строки.
Для получения дополнительной информации см. Раздел «Длинные массивы»
Эта функция полностью поддерживает массивы GPU. Для получения дополнительной информации смотрите Запуск функций MATLAB на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите Запуск функций MATLAB с распределенными массивами (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.