Изменить форму массива
изменяется 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 - Размер выходного документаРазмер вывода, заданный как вектор строки целых чисел. Каждый элемент 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
Эта функция поддерживает массивы tall с ограничениями:
Изменение формы высокого размера (первого размера) не поддерживается. Первый вход измерения всегда должен быть пустым, например reshape(X,[],M,N,...).
Дополнительные сведения см. в разделе Tall Arrays for Out-of-Memory Data.
Примечания и ограничения по использованию:
Если вход является массивом пустых ячеек времени компиляции, то аргументы размера должны быть константами.
Аргументы размера должны иметь фиксированный размер.
См. раздел Ограничения размера переменной для создания кода функций панели инструментов (кодер MATLAB).
Для разреженных матриц reshape функция не поддерживает задние в качестве входных данных после первых двух измерений.
Примечания и ограничения по использованию:
Если вход является массивом пустых ячеек времени компиляции, то аргументы размера должны быть константами.
Аргументы размера должны иметь фиксированный размер.
Для разреженных матриц reshape функция не поддерживает задние в качестве входных данных после первых двух измерений.
Эта функция полностью поддерживает массивы графических процессоров. Дополнительные сведения см. в разделе Запуск функций MATLAB на графическом процессоре (панель инструментов параллельных вычислений).
Эта функция полностью поддерживает распределенные массивы. Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.