size

Описание

пример

sz = size(A) возвращает вектор-строку, элементы которого являются длинами соответствующих размерностей A. Для примера, если A - матрица 3 на 4, затем size(A) возвращает вектор [3 4].

Если A - таблица или расписание, затем size(A) возвращает двухэлементный вектор-строку, состоящее из количества строк и количества табличных переменных.

пример

szdim = size(A,dim) возвращает длину размерности dim когда dim является положительным целочисленным скаляром. Начиная с R2019b, можно также задать dim как вектор положительных целых чисел для запроса нескольких длин размерностей за раз. Для примера, size(A,[2 3]) возвращает длины вторых и третьих размерностей A в векторе-строке 1 на 2 szdim.

пример

szdim = size(A,dim1,dim2,…,dimN) возвращает длины размерностей dim1,dim2,…,dimN в векторе-строке szdim (начиная с R2019b).

пример

[sz1,...,szN] = size(___) возвращает длины запрашиваемых размерностей A отдельно.

Примеры

свернуть все

Создайте случайный 4-D массив и верните его размер.

A = rand(2,3,4,5);
sz = size(A)
sz = 1×4

     2     3     4     5

Запрашивать только длину второго измерения A.

szdim2 = size(A,2)
szdim2 = 3

Начиная с R2019b, можно запросить несколько длин размерностей за раз, задав аргумент векторной размерности. Например, найдите длины первых и третьих размерностей A.

szdim13 = size(A,[1 3])
szdim13 = 1×2

     2     4

Найдите длины вторых четвертых размерностей A.

szdim23 = size(A,2:4)
szdim23 = 1×3

     3     4     5

Также можно перечислить запрошенные размерности как отдельные входные параметры.

szdim23 = size(A,2,3,4);

Составьте таблицу с 5 строками и 4 переменными.

LastName = {'Smith';'Johnson';'Williams';'Jones';'Brown'};
Age = [38;43;38;40;49];
Height = [71;69;64;67;64];
Weight = [176;163;131;133;119];
BloodPressure = [124 93; 109 77; 125 83; 117 75; 122 80];

A = table(Age,Height,Weight,BloodPressure,'RowNames',LastName)
A=5×4 table
                Age    Height    Weight    BloodPressure
                ___    ______    ______    _____________

    Smith       38       71       176       124     93  
    Johnson     43       69       163       109     77  
    Williams    38       64       131       125     83  
    Jones       40       67       133       117     75  
    Brown       49       64       119       122     80  

Найдите размер таблицы. Хотя и BloodPressure переменная содержит два столбца, size подсчитывает только количество переменных.

sz = size(A)
sz = 1×2

     5     4

Создайте случайную матрицу и верните количество строк и столбцов отдельно.

A = rand(4,3);
[numRows,numCols] = size(A)
numRows = 4
numCols = 3

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

свернуть все

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

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | struct | function_handle | cell | categorical | datetime | duration | calendarDuration | table | timetable

Поддержка комплексного числа: Да

Запрашиваемые размерности, заданные как положительный целый скаляр или вектор положительных целочисленных скаляров. Если элемент dim больше ndims(A), затем size возвращает 1 в соответствующем элементе выхода.

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

Список запрашиваемых размерностей, заданных как положительные целочисленные скаляры, разделенные запятыми. Если элемент списка больше ndims(A), затем size возвращает 1 в соответствующем элементе выхода.

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

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

свернуть все

Размер массива, возвращенный как вектор-строка неотрицательных целых чисел.

  • Каждый элемент sz представляет длину соответствующей размерности A. Если какой-либо элемент sz равно 0, затем A - пустой массив.

  • Если A является скаляром, тогда sz - вектор-строка [1 1].

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

  • Если A является вектор символов типа char, затем size возвращает вектор-строку [1 M] где M количество символов. Однако, если A является строковым скаляром, size возвращает [1 1] потому что это один элемент массива строковых массивов. Например, сравните выходные данные size для вектора символов и строки:

    szchar = size('mytext')
    szchar =
    
         1     6
    szstr = size("mytext")
    szstr =
    
         1     1
    
    Чтобы найти количество символов в строке, используйте strlength функция.

Типы данных: double

Размерные длины, возвращенные как неотрицательный целочисленный скаляр при dim является скаляром и вектором-строкой неотрицательных целочисленных скаляров при dim является вектором. Если элемент заданного аргумента измерения больше ndims(A), затем size возвращает 1 в соответствующем элементе szdim.

Типы данных: double

Размерные длины перечислены отдельно, возвращены как неотрицательные целочисленные скаляры, разделенные запятыми.

  • Когда dim не задан и меньше ndims(A) выводятся выходные аргументы, затем все оставшиеся длины размерностей свернуты в последний аргумент в списке. Для примера, если A является трехмерный массив с размером [3 4 5], затем [sz1,sz2] = size(A) возвращает sz1 = 3 и sz2 = 20.

  • Когда dim задано, количество выходных аргументов должно равняться количеству запрашиваемых размерностей.

  • Если вы задаете больше ndims(A) выходные аргументы, затем дополнительные конечные аргументы возвращаются следующим 1.

Типы данных: double

Совет

  • Чтобы определить, пуст ли массив, скаляр или матрица, используйте функции isempty, isscalar, и ismatrix. Можно также определить ориентацию вектора с isrow и iscolumn функций.

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

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

.

Генерация кода GPU
Сгенерируйте код CUDA ® для графических процессоров NVIDIA ® с помощью GPU Coder™

.

Генерация HDL-кода
Сгенерируйте Verilog и VHDL код для FPGA и ASIC проектов с использованием HDL- Coder™.

См. также

| | | | |

Представлено до R2006a