Как определить длину вектора в матлабе
Перейти к содержимому

Как определить длину вектора в матлабе

  • автор:

Как определить длину вектора в матлабе

Количество элементов в векторе

• length(v) : возвращает количество элементов в векторе v .

• last(v) : возвращает индекс последнего элемента в векторе v .

Длина вектора всегда является измерением количества записей, тогда как индекс последнего элемента является функцией переменной ORIGIN . Чтобы получить евклидову длину v , используйте оператор определителя.

Если нужно получить размер матрицы, а не вектора, используйте функции rows и cols .

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 массива

Создайте случайный 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

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

A — Входной массив
скаляр | вектор | матрица | многомерный массив

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

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

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

dim — Запрошенные размерности
положительный целочисленный скаляр | вектор из положительных целочисленных скаляров

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

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

dim1,dim2,…,dimN — Список запрошенных размерностей
положительные целочисленные скаляры

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

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

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

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

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

  • Каждый элемент 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

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

szdim — Длины размерности
неотрицательный целочисленный скаляр | вектор из неотрицательных целочисленных скаляров

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

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

sz1. szN — Длины размерности перечислены отдельно
неотрицательные целочисленные скаляры

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

  • Когда 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™.

Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool .

Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.

Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.

Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox) .

Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.

Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox) .

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

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

Открытый пример

У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

Документация MATLAB

Поддержка

  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2021 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

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

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

length

L = length( X ) возвращает длину самого большого измерения массива в X . Для векторов длина является просто числом элементов. Для массивов с большим количеством размерностей длиной является max(size(X)) . Длина пустого массива является нулем.

Примеры

Количество векторных элементов

Найдите длину однородно расположенного с интервалами вектора в интервале [5,10] .

v = 5:10
v = 1×6 5 6 7 8 9 10
L = length(v)
L = 6

Длина прямоугольной матрицы

Найдите длину 3 7 матрица нулей.

X = zeros(3,7); L = length(X)
L = 7

Массив строк

Создайте массив строк и вычислите его длину, которая является числом элементов в каждой строке.

X = ["a" "b" "c"; "d" "e" "f"]
X = 2x3 string "a" "b" "c" "d" "e" "f"
L = length(X)
L = 3

Длина полей структуры

Создайте структуру с полями для Day и Month . Используйте structfun функция, чтобы применить length к каждому полю.

S = struct('Day',[1 13 14 26],'Month','Jan','Feb', 'Mar'>>)

S = struct with fields: Day: [1 13 14 26] Month:

L = structfun(@(field) length(field),S)
L = 2×1 4 3

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

X — Входной массив
скаляр | вектор | матрица | многомерный массив

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

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

Советы

  • Чтобы найти количество символов в строке или векторе символов, используйте strlength функция.
  • length не работает с таблицами. Чтобы исследовать размерности таблицы, используйте height width , или size функции.

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

«Высокие» массивы
Осуществление вычислений с массивами, которые содержат больше строк, чем помещается в памяти.

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

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

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

Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool .

Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.

Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.

Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox) .

Распределенные массивы
Большие массивы раздела через объединенную память о вашем кластере с помощью Parallel Computing Toolbox™.

Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox) .

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

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

Открытый пример

У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?

Документация MATLAB

Поддержка

  • MATLAB Answers
  • Помощь в установке
  • Отчеты об ошибках
  • Требования к продукту
  • Загрузка программного обеспечения

© 1994-2021 The MathWorks, Inc.

  • Условия использования
  • Патенты
  • Торговые марки
  • Список благодарностей

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

1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.

2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.

3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.

4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.

5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.

Вычисление размера размерности массива MatLab

Для вычисления размера каждой размерности массива используется функция size:

М = size(A.DIM) возвращает размер размерности, указанной скаляром DIM, в виде вектора-строки размером 2. Для двумерного или одномерного массива А size(A.l) возвращает число рядов, a size (А, 2) — число столбцов;

Для N-мерных массивов А при n>2 size(A) возвращает N-мерный вектор-строку, отражающий страничную организацию массива, последняя составляющая этого вектора равна N. В векторе отсутствуют данные о единичных размерностях (тех, где расположены вектор-строка или вектор-столбец, т. е. size(A,DIM)==l). Исключение представляют N-мерные массивы Java массивов javaarray, которые возвращают размер массива самого высокого уровня.

Вообще, когда входным аргументом size является javaarray, то возвращаемое число столбцов всегда 1, а число рядов (строк) равно размеру (длине) javarray.

[Ml, М2 ,МЗ. MN] = si ze(A) возвращает размер первых N размерностей массива А;

D = size (А), для mxn матрицы А возвращает двухэлементный вектор-строку, в котором первая составляющая — число строк т, а вторая составляющая — число столбцов n;

[m.n] = size(A) возвращает число рядов и столбцов в разных выходных параметрах (выходных аргументах в терминологии MATLAB) тип.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *