Иллюстрированный самоучитель по MatLab

Определитель и ранг матрицы. Определение нормы вектора.

Для нахождения определителя (детерминанта) и ранга матриц в MATLAB имеются следующие функции:

  • det(X) – возвращает определитель квадратной матрицы X. Если X содержит только целые элементы, то результат – тоже целое число. Использование det(X)=0 как теста на вырожденность матрицы действительно только для матрицы малого порядка с целыми элементами.

Пример:

>> A=[2.3.6:1.8.4;3.6.7]
A =
2 3 6 
1 8 4 
3 6 7
>> det(A)
ans =
-29

Детерминант матрицы вычисляется на основе треугольного разложения методом исключения Гаусса:

[L.U>lu(A): s=det(L): d=s*prod(diag(U))

Ранг матрицы определяется количеством сингулярных чисел, превышающих порог:

tol=max(size(A))*nprm(A)*eps

При этом используется следующий алгоритм:

s=svd(A);tol=max(size(A))*npnri(A)*eps;r=sum(s>tol);

Для вычисления ранга используется функция rank:

  • rank (А) – возвращает количество сингулярных чисел, которые являются большими, чем заданный по умолчанию допуск;
  • rank(A.tol) – возвращает количество сингулярных чисел, которые превышают tol. Пример:
>> rank(hilbdl))
ans =
10

Определение нормы вектора

Норма вектора – скаляр, дающий представление о величине элементов вектора. Нужно различать норму матрицы и норму вектора. Функция norm определяет, является ли ее аргументом (входным аргументом в терминологии MATLAB) вектор или матрица, и измеряет несколько различных типов норм векторов:

  • norm(X)=norm(X,2) – вторая норма возвращает наибольшее сингулярное число X, max(svd(X));
  • norm(X.p), где р – целое положительное число, – возвращает корень степени р из суммы абсолютных значений элементов вектора, возведенных в степень р. При р = 1 это может совпадать либо с первой нормой, либо с нормой неопределенности матриц;
  • norm(X, 'inf') возвращает максимальное из абсолютных значений элементов вектора;
  • norm(X, '-Inf') возвращает минимальное из абсолютных значений элементов вектора.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.