Изменение размерности массива
изменяет B
= reshape(A
,sz1,...,szN
)A
в sz1
- ...
- szN
массив, где sz1,...,szN
указывает на размер каждой размерности. Можно задать один размер размерности []
иметь размер размерности, автоматически вычисленный, такой что число элементов в B
совпадает с числом элементов в A
. Например, если A
10 10 матрица, затем reshape(A,2,2,[])
изменяет 100 элементов A
в 2 2 25 массивами.
Изменитесь 1 10 вектор в 5 2 матрица.
A = 1:10; B = reshape(A,[5,2])
B = 5×2
1 6
2 7
3 8
4 9
5 10
Измените форму квадратной матрицы 4 на 4 в матрицу, которая имеет 2 столбца. Задайте []
для первой размерности, которая позволит reshape
автоматически вычислите соответствующее количество строк.
A = magic(4)
A = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
B = reshape(A,[],2)
B = 8×2
16 3
5 10
9 6
4 15
2 13
11 8
7 12
14 1
Результат 8 2 матрица, которая обеспечивает то же число элементов как исходная матрица. Элементы в B
также поддержите их постолбцовый порядок от A
.
Измените размерность массива 3 на 2 на 3 нулей в 9 2 матрица.
A = zeros(3,2,3); B = reshape(A,9,2)
B = 9×2
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
A
— Входной массивВходной массив, заданный как векторный, матричный или многомерный массив.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| cell
| struct
| datetime
| duration
| calendarDuration
Поддержка комплексного числа: Да
sz
'OutputSize' Выведите размер в виде вектора-строки из целых чисел. Каждый элемент sz
указывает на размер соответствующей размерности в B
. Необходимо задать sz
так, чтобы число элементов в A
и B
то же самое. Таким образом, prod(sz)
должен совпасть с numel(A)
.
После второго измерения, выхода, B
, не отражает последующие измерения с размером 1
. Например, reshape(A,[3,2,1,1])
производит 3-на-2 матрицу.
Пример: reshape(A,[3,2])
Пример: reshape(A,[6,4,10])
Пример: reshape(A,[5,5,5,5])
sz1,...,szN
— Размер каждой размерности[]
(дополнительный)Размер каждой размерности в виде двух или больше целых чисел с самое большее одним []
(дополнительный). Необходимо задать по крайней мере 2 размера размерности, и самое большее один размер размерности может быть задан как []
, который автоматически вычисляет размер той размерности, чтобы гарантировать тот numel(B)
соответствия numel(A)
. Когда вы используете []
чтобы автоматически вычислить размер размерности, размерности, которые вы действительно явным образом задаете, должны разделиться равномерно на число элементов во входной матрице, numel(A)
.
После второго измерения, выхода, B
, не отражает последующие измерения с размером 1
. Например, reshape(A,3,2,1,1)
производит 3-на-2 матрицу.
Пример: reshape(A,3,2)
Пример: reshape(A,6,[],10)
Пример: reshape(A,2,5,3,[])
Пример: reshape(A,5,5,5,5)
B
— Измененный размерность массивИзмененный размерность массив, возвращенный как вектор, матрица, многомерный массив или массив ячеек. Тип данных и число элементов в B
совпадают с типом данных и числом элементов в A
. Элементы в B
сохраните их постолбцовое упорядоченное расположение от A
.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| char
| string
| cell
| datetime
| duration
| calendarDuration
Эта функция поддерживает высокие массивы с ограничениями:
Изменение высокой размерности (определяют размеры одного) не поддержано. Первый вход размерности должен всегда быть пустым, таким как reshape(X,[],M,N,...)
.
Для получения дополнительной информации смотрите Длинные массивы для Данных, которые не помещаются в память.
Указания и ограничения по применению:
Если вход является массивом пустой ячейки времени компиляции, то аргументы размера должны быть константами.
Аргументы размера должны иметь фиксированный размер.
Для разреженных матриц, reshape
функция не поддерживает запаздывание единиц как входные параметры после первых двух размерностей.
Указания и ограничения по применению:
Если вход является массивом пустой ячейки времени компиляции, то аргументы размера должны быть константами.
Аргументы размера должны иметь фиксированный размер.
Для разреженных матриц, reshape
функция не поддерживает запаздывание единиц как входные параметры после первых двух размерностей.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.