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

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

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

· 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)– размеры матрицы.

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

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