Как определить длину вектора в матлабе
· Length ( V ) – определяет длину вектора V ;
· Prod ( V ) или prod ( A , K ) – вычисляет произведение элементов массива V или произведения столбцов или строк матрицы в зависимости от значения k ;
· Sum ( V ) или sum ( A , k ) – вычисляет сумму элементов массива V или сумму столбцов или строк матрицы в зависимости от значения k ;
· Dot ( v 1, v 2) – вычисляет скалярное произведение векторов v 1 и v 2, то же значение выдаст функция sum ( v 1.* v 2);
· Cross ( v 1, v 2) – определяет векторное произведение векторов v 1 и v 2;
· Min ( V ) – находит минимальный элемент массива V , вызов в формате [ k , n ]= min ( V ) дает возможность определить минимальный элемент k и его номер в массиве n ;
· Max ( V ) – находит максимальный элемент массива V или при [ k , n ]= max ( V ) определяет максимум и его номер;
· Sort ( V ) – выполняет упорядочивание массива V ;
· Det (М) — вычисляет опеределитель квадратной матрицы М;
· Rank ( M ) – определяет ранг матрицы М;
· Norm ( M , p ) – возвращает различные виды норм матрицы M в зависимости от p ( p =1, 2 inf , fro );
· Cond ( M , p ) – возвращает число обусловленности матрицы M , основанное на норме p ;
· Eye ( n , m ) или eye ( n ) – возвращает прямоугольную матрицу с единицами по главной диагонали или квадратную единичную матрицу;
· Ones ( n , m ) или ones ( n ) – формирует прямоугольную или квадратную матрицу, состоящую из единиц;
· Zeros ( n , m ) или zeros ( n ) – возвращает прямоугольную или квадратную нулевую матрицу;
· Diag ( V , n ) или diag ( V ) – возвращает квадратную матрицу с элементами V на k -й диагонали или элементами V на главной диагонали;
· Cat ( n , A , B ) или cat ( n , A , B , C , …) – объединяет матрицы A и B или все входящие матрицы;
· Inv ( M ) – возвращает матрицу, обратную к М;
· Eig ( M ) – возвращает вектор собственных значений матрицы М, вызов функции в формате [ V , D ]= eig ( M ) даст матрицу V , столбцы которой – собственные векторы матрицы M , и диагональную матрицу D , содержащую собственные значения матрицы M ;
· Linsolve ( A , b ) – возвращает решение системы линейных уравнений A * x = b , вызов в формате linsolve ( A , b , options ) позволяет задать метод решения уравнения. Если задать функцию в виде [ x , r ]= linsolve ( A , b ), то она вернет x – решение системы и r – ранг матрицы A .
· Rref ( M ) – осуществляет приведение матрицы М к треугольной форме, используя метод исключений Гаусса;
· Chol ( M ) – возвращает разложение по Халецкому для положительно определенной симметрической матрицы М;
· Lu ( M ) – выполняет LU -разложение, возвращает две матрицы: нижнюю треугольную L и верхнюю треугольную U ;
· Gr ( M ) – выполняет QR – разложение, возвращает ортогональную матрицу Q и верхнюю треугольную R ;
length
L = length( X ) возвращает длину самого большого измерения массива в X . Для векторов длина является просто числом элементов. Для массивов с большим количеством размерностей длиной является max(size(X)) . Длина пустого массива является нулем.
Примеры
Количество векторных элементов
Найдите длину однородно расположенного с интервалами вектора в интервале [5,10] .
Длина прямоугольной матрицы
Найдите длину 3 7 матрица нулей.
Массив строк
Создайте массив строк и вычислите его длину, которая является числом элементов в каждой строке.
Длина полей структуры
Создайте структуру с полями для Day и Month . Используйте structfun функция, чтобы применить length к каждому полю.
Входные параметры
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) .
Смотрите также
Открытый пример
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Документация MATLAB
Поддержка
© 1994-2021 The MathWorks, Inc.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста — например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
Векторы и матрицы
Самой характерной особенностью MATLAB является то, что он является программой, предназначенной для вычислений с векторами, матрицами и полиномами.Даже название продукта происходит от словMATrixLABoratory– матричная лаборатория.
Матрица – основной элемент вычислений (операнд) в MATLAB.Это двумерный массив чисел или математических выражений. По умолчанию все операции подразумеваются как действия, выполняемые над матрицами.Размер матрицы (size) определяется числом её строк и столбцов.
Вектор – это одномерный массив, частный случай матрицы. Число элементов вектора – это его размер. Обычное число (скаляр) является матрицей размером (1×1), вектор – строка сNэлементами – это матрица размером (1xN), вектор – столбец – это матрица размером (Nх 1).
Векторы MATLAB могут определяться двумя способами.
Во-первых, вектор-строка может генерироваться из элементов, заключенных в квадратные скобки и разделенных пробелами или запятыми.
Columns 1 through 3
5.0000e+000 0 +2.0000e+000i 3.1416e+000
Доступ к элементам такого массива производится указанием индекса элемента. Индексы элементов массивов MATLAB всегда начинаются с 1.
. Attempted to access x(0);
index must be a positive integer or logical.
Размер (длина) вектора может быть определен командой length
Дополнение вектора элементом
Columns 1 through 3
5.0000e+000 0 +2.0000e+000i 3.1416e+000
Columns 4 through 5
Генерирование вектора – столбца выполняется разделением элементов точкой с запятой внутри квадратных скобок, обозначающих массив:
Транспонирование вектора (матрицы) реализуется с помощью команды – символа ‘
Транспонирование комплексного вектора сопровождается не только преобразованием вектора – строки в вектор – столбец или наоборот, но и изменением знаков мнимой части элементов (эрмитово или комплексное сопряжение вектора)
Транспонирование без образования комплексно сопряженного вектора выполняется вводом точки перед оператором транспонирования, например,
Второй метод создания вектора заключается в использовании выражения типа арифметической прогрессии – начальное значение : приращение : конечное значение.
>> x =[0:0.2:1] % Последовательность от 0 до 1 с приращением 0.2
x = 0 0.20 0.40 0.60 0.80 1.00
>>k = 0:10; % Создается 1×11 вектор с элементами 0, 1, 2, . 10.
Шаг приращения может быть и отрицательным
10.0000 7.5000 5.0000 2.5000 0
Командой linspace(x1, x2, n) создается n равноотстоящих чисел от x1 до x2, например,
>> x1 = linspace(0, 4, 5)
С помощью команды logspace(x1, x2, n) генерируется n чисел от 10 x 1 до 10 x 2 в логарифмической шкале, пример
% 6 значений от 10 0 до 10 1 в логарифмической шкале
>> x = logspace(0, 1, 6)
1.0000 1.5849 2.5119 3.9811 6.3096 10.0000
Обе последние команды полезны при построении графиков в линейном и логарифмическом масштабе.
Ввод элементов матрицы выполняется в MATLAB в квадратных скобках по строкам. Элементы строки матрицы разделяются пробелом или запятой, строки отделяются друг от друга символом ; (точка с запятой).
» A= [1 2 3; 4 5 6; 7 8 9]
>> txt = ‘string’ % генерирование символьной матрицы/вектора
% ввод символьной матрицы по отдельным символам
Специальные матрицы, встроенные в MATLAB (справочные сведения могут быть получены через help):
M = []; % пустая матрица
M = zeros(n,m); %nxmматрица с нулевыми элементами
M = ones(n,m); %nxmматрица из единичных элементов
M = eye(n);% единичная квадратная матрицаnxn
M = rand(m,n);% матрица размеромmxnиз случайных чисел,
% равномерно распределенных в интервале [0,1].
M = randn(m,n);% матрица размеромmxnиз случайных чисел,
% распределенных по нормальному закону с нулевым
% средним значением и единичной дисперсией.
Наиболее часто используется вызов этих функций в виде
где m – число строк,n – число столбцов матрицы.
Матрица может быть создана также с помощью её блоков, например, если А– матрица размером 3 х 3, то команда
создаст матрицу М размером 3 х 6.
Индексация элементов матриц аналогична принятой в математике.
Первый вариант индексации:


Элементы матриц могут быть получены с помощью их индексов
>> x = A (1, 3) % формат доступа A(<ряд>,<столбец>)
>> y =A(2, 🙂 % доступ к элементам второй строки матрицы А
» v1 = A(:, 2) % доступ к элементам второго столбца
8 Доступ к подматрицам
>> z = A(1:2, 1:3) % доступ к элементам первой и второй строки
>> v = A(:) % преобразование матрицы в вектор
Команда length(x)возвращает размер (длину) вектораx, командаsize(x)– размеры матрицы.