norm
Функция определении нормы вектора или матрицы.
Синтаксис
n = norm(Ar);
n = norm(Ar,p);
n = norm(M,str);
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| Ar | array/array2 |
Массив вещественных чисел, вектор или матрица; |
| p | integer |
Целое число, порядок нормы; если Ar - матрица, то p = 1 или 2 |
| M | array2 |
Матрица вещественных чисел |
| str | string |
Строковый аргумент, может принимать значения "fro" или "inf" |
Описание
norm(Ar) – функция вычисляет вторую норму вектора или матрицы
Ar (Евклидова норма, наибольшее сингулярное число матрицы);
norm(Ar,p) - функция вычисляет норму порядка p для вектора или матрицы
Ar; если Ar - вектор, то p - любое
положительное вещественное число; если Ar - матрица, то если: p= 1, тогда функция определяет максимальную сумму столбцов матрицы;p= 2, тогда функция определяет вторую норму матрицы (то же, чтоnorm(Ar)выше);
norm(M,str) - если str = "fro", то функция определяет норму
Фробениуса для матрицы M; если str = "inf", то функция
определяет максимальную сумму строк матрицы M.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| n | double |
Функция возвращает скалярное вещественное значение нормы матрицы или вектора |
Пример
M = [[1, 0, -3];[3, 1, 2];[3, 5.15, 0];[-1, 1, 2]]; // матрица
V = [5, 4, -3, 2, 0, 1]; // вектор
n1 = norm(V); // 2-норма вектора
n2 = norm(V,3); // 3-норма вектора
n3 = norm(M); // 2-норма матрица (макс сингулярное число матрицы)
n4 = norm(M,1); // 1-норма матрицы
n5 = norm(M,"inf"); // Inf-норма матрицы
n6 = norm(M,"fro"); // норма Фробениуса
В скрипте примера происходит вычисление различных норм для исходных массивов.
Дополнительные материалы
Норма порядка p для вектора v, имеющего N элементов:
Максимальная сумма столбцов матрицы X размерностью m×n (m,n>=2 ):
Максимальная сумма строк матрицы X размерностью m×n (m,n>=2 ):
Норма Фробениуса матрицы X размерностью m×n (m,n>=2 ):