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++ с помощью MATLAB® Coder™.

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

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

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

| | | | |

Представлено до R2006a
Для просмотра документации необходимо авторизоваться на сайте