Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab

4 -е занятие по MATLAB

ЛАБОРАТОРНАЯ РАБОТА №4

I. Базовые операции символьной математики

системы MATLAB — SIMBOLIC MATHEMATICS TOOLBOX

1. Создание символьных переменных и массивов (x, y, z, a, b, c и т.д.).

Первый способ c помощью команды sym: x = sym(‘x’); y = sym(‘y’); z = sym(‘z’);

Второй способ с помощью команды syms: syms a b c;

1.1. Создание символьных матриц А1 (А2) или массивов:

1-й способ : A1 = sym(‘[a1 b1 c1;d1 e1 f1;g1 h1 k1]’); % матрица А1 размера 3 ´ 3

% Вывод матрицы А1 в командной строке

» A1 % После набора А1 нажать клавишу Enter

2- й способ : syms a b c d e f g h k

A2 = [a2 b2 c2;d2 e2 f2;g2 h2 k2]; % Матрица А2 размера 3 ´ 3

% Вывод матрицы А2 в командной строке

1.2. Проверить рабочую область c помощью команды whos.

1.3. Символьные числовые матрицы и элементы:

Ac1=sym([1 3 7;2 4 6;1 7 5]); % Без апострофа

Ас2 = sym(‘7’); % С апострофом

1.4. Детерминант символьной матрицы — det :

» det(A1) % Без присвоения результата

» D 2= det ( A 2) % С присвоением результата ячейке под именем D 2

» det ( Ac 1) % Детерминант символьной числовой матрицы

% Детерминант матрицы 2-го порядка A 3= sym (‘[ a 1 b 1; c 1 d 1]’)

1 .5. Выделение диагонали заданной символьной матрицы:

1.6. Выделение диагонали символьной числовой матрицы

1.7. Создание символьной диагональной матрицы по заданной:

1.8. Создание числовой символьной диагональной матрицы по заданной

1.9. Вычисление собственных значений и собственных векторов символьно-числовой матрицы.

Собственные векторы — это такие векторы v , которые преобразуются матрицей А в векторы, отличающиеся от исходных лишь скалярным множителем s :

Собственные значения и собственные векторы матрицы matlab.

» A=sym([-1 0 0;2 -2 0;0 4 -2.5])

% Вычисление собственных векторов и собственных значений квадратной матрицы А — eig

v = % Матрица правых собственных векторов матрицы А

s = % Диагональная матрица собственных значений матрицы А

% Справедливо следующее спектральное разложение: Собственные значения и собственные векторы матрицы matlab,

% Спектральное разложение может быть осуществлено по вектору столбцу, например

» A*v(:,2) % По второму столбцу

» v(:,2)*s(2,2) % По второму столбцу

% Первый собственный вектор v1 — это первый столбец матрицы v: v1=(0, 1, 8)

% Второй собственный вектор v2 — это второй столбец матрицы v: v2=(1, 2 ,16/3)

% Третий собственный вектор v3 — это третий столбец матрицы v: v3=(0, 0 ,1)

% Собственные числа матрицы А: s1=-2, s2=-1, s3=-5/2=-2.5

% Справедливы следующие соотношения:

Задание: Найти собственные векторы и собственные значения матрицы [7,-2,0;-2,6,-2;0,-2,5] , проверить результат.

2. Графические построения символьных функций — ezplot .

2.1. 1-й способ. Область определения по умолчанию от -2* pi до 2* pi

» syms t % Определение символьной переменной

2.2. 2-й способ обращения к функции ezplot . Задаваемая область определения

2 .3. 3-й способ обращения к функции ezplot . Определение функции под знаком ezplot

2 .4. 4-й способ обращения к функции ezplot .

» ezplot exp(-0.5*t)*cos(5*t) [0 9],grid

» ezplot sin(t)/t [ -12 12 ],grid

3. Свойства собственнх значений матрицы:

Собственные значения и собственные векторы матрицы matlab

где Собственные значения и собственные векторы матрицы matlab— след матрицы А, т.е. сумма элементов главной диагонали, Собственные значения и собственные векторы матрицы matlab Собственные значения и собственные векторы матрицы matlab— собственные значения матрицы А, Собственные значения и собственные векторы матрицы matlab, Собственные значения и собственные векторы матрицы matlab— размерность матрицы А.

% В системе MATLAB

» trace(A) % След матрицы А

» sum(eig(A)) % Сумма собственных значений матрицы А

» det(A) % Определитель матрицы А

» prod(eig(A)) % Произведение собственных значений матрицы А

4. Создание полиномов и характеристических полиномов.

4.1. Создание полинома по вектору заданных коэффициентов — poly2sym .

» poly2sym(c) % Вектор коэффициентов может быть непосредственно введен в poly2sym

% Переменная х устанавливается по умолчанию. Другие переменные следует определять

» c=[2 3 5 7 8]; % Можно определить и как вектор столбец

4.2. Характеристический полином заданной символьно-числовой матрицы

Характеристический полином определяется из следующего характеристического уравнения для заданной матрицы А:

Собственные значения и собственные векторы матрицы matlab Собственные значения и собственные векторы матрицы matlabгде Собственные значения и собственные векторы матрицы matlab— единичная матрица

Каждое собственное число матрицы А удовлетворяет ее характеристическому уравнению

» syms s % Задали символьную переменную s

% Для чисто числовой матрицы функция poly определяет только строку коэффициентов

Задание. Вычислить собственные значения матрицы А с присвоением результата и подставить каждое из собственных значений в полученный характеристический полином. Результат должен быть равен нулю. Использовать функцию упрощения результата вычислений simplify.

4.3. Выделение коэффициентов из заданного полинома — sym2poly.

» p=poly2sym([1 3 4 6],s) % Формирование полинома с заданными коэффициентами

» sym2poly(p) % Выделение вектор-строки коэффициентов из заданного полинома

% Полученную вектор-строку можно переопределить с присвоением

Задание. Сформировать характеристический полином по полученному вектору-строки с использованием функции poly2sym по переменной z.

5. Решение символьных конечных уравнений — solve .

5.1. Решение квадратного уравнения Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab

» syms x % Задание символьной переменной х

» solve(‘x^2+2*x-8=0’) % Формат записи решателя solve

Собственные значения и собственные векторы матрицы matlab

[ -1-i*7^(1/2)] % Комплексное решение, i — мнимая единица

5.2. Решение нелинейных уравнений.

5.3. Решение систем нелинейных уравнений.

Собственные значения и собственные векторы матрицы matlab

» simplify([X2,X1]) % Для упрощения результата

5.4. Решение систем трансцендентных уравнений.

Пример. Решить следующую систему трансцендентных уравнений:

Собственные значения и собственные векторы матрицы matlab

где t1, t2, t3 — искомые переменные.

% Функция vpa используется д ля задания количества значащих цифр

O4=(1-0.5)*exp(T3(4))-2*exp(T2(4))+2*exp(T1(4))-1 % Для проверки

% Каждое из 6 решений должно удовлетворять любому из 3-х уравнений

II. Вычисление символьных выражений

с различным представлением результатов.

Вычисление пределов в MATLAB. Вычисление сумм, произведений.

в пакете SIMBOLIC MATHEMATICS TOOLBOX.

1. Представление результата в виде рационального числа — ‘r’ .

1.1. Вычисление дроби 1/3:

» r1=sym(1/3,’r’) % С присвоением результата

1.2. Вычисление натурального логарифма от 3 — Собственные значения и собственные векторы матрицы matlab:

1.3. Вычисление десятичного логарифма от 3 — Собственные значения и собственные векторы матрицы matlab:

1.4. Вычисление логарифма по основанию два от 3 — Собственные значения и собственные векторы матрицы matlab:

Замечание: Представление в виде рационального числа имеет формат либо p/q либо p*2^q, где p, q — целые числа.

2. Представление результата в виде числа с плавающей точкой — ‘f’ .

Все величины представляются в форме ‘1.F’*2^(e) или ‘-1.F’*2^(e), где F — это ряд из 13 шестнадцатиричных цифр, а e — целое число. В случае, когда результат вычисления не может быть представлен точно в форме с плавающей точкой, то выводятся буквы, имеющие то или иное назначение в интерпретации результата.

2.1. Вычисление дроби 1/2:

» f1=sym(1/2,’f’) % Формат записи

% Результат записан в виде точного представления в арифметике с плавающей точкой

2.2. Вычисление дроби 1/5:

% Результат записан в виде приближенного (буква а — approximately) представления в арифметике с плавающей точкой.

3. Рациональное число с оценкой погрешности полученного представления —‘e’.

Рациональное представление добавляется переменной ‘eps’, которая оценивает разницу между теоретическим рациональным выражением (результатом) и его действительной величиной с плавающей точкой.

3.1. Вычислить дробь 1/2:

1/2 % Результат как и в случае рационального представления

3.2. Вычислить дробь 1/3:

3.3. Вычислить выражение Собственные значения и собственные векторы матрицы matlab:

3.4. Вычислить дробь 3/33

4. Формат десятичного числа — ‘d’ .

4.1. Вычислить дробь 1/3:

.33333333333333331482961625624739 % По умолчанию поддерживаются 16 цифр %мантиссы полученного числа

4.2. вычислить выражение Собственные значения и собственные векторы матрицы matlab:

4.3. Вычислить дробь 1/3 с 23 знаками в мантиссе с использованием функции vpa :

4.4. Вычислить дробь 1/3 с 23 знаками в мантиссе с использованием vpa и digits

% Использование только digits приводит к выводу результата с заданным количеством цифр, но %с ограниченной точностью (в формате ‘d’):

5. Вычисление пределов — limit.

Вычисление пределов от символьных выражений производится с помощью встроенной функции limit . Соответствие между традиционным математическим описанием и символьным системы MATLAB приводится в таблице 1.

Таблица 1

Традиционное математическое действие

Команда MATLAB

Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab% предел слева

Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab% предел справа

Примечание: символ бесконечность ( Собственные значения и собственные векторы матрицы matlab) в MATLAB записывается как inf . Неопределенное значение в MATLAB записывается как NaN .

5.1. Вычислить предел выражения Собственные значения и собственные векторы матрицы matlab:

1 % Предел отношения равен единицы

5.2. Вычислить предел выражения Собственные значения и собственные векторы матрицы matlab:

exp(1) % Ответ: число е в первой степени

5.3. Вычислить предел выражения Собственные значения и собственные векторы матрицы matlabпри стремлении х к нулю слева:

-inf % Ответ: минус бесконечность

5.4. Вычислить предел выражения Собственные значения и собственные векторы матрицы matlabпри стремлении х к нулю справа:

inf % Ответ: бесконечность (т.е. плюс бесконечность)

limit((sin(x+h)-sin(x))/h,h,0) returns cos(x)

5.5. Вычислить предел выражения Собственные значения и собственные векторы матрицы matlab:

» limit(y5,h,0) % Вычисление предела по одной из переменных — по h

6 . Дифференцирование функций одной переменной — diff .

6.1. Найти производную функции Собственные значения и собственные векторы матрицы matlabпо переменной х:

6.2. Найти производную функции Собственные значения и собственные векторы матрицы matlabпо переменной х:

» diff(sin(x+h)/x) % Формат записи без предварительного присвоения

6.3. Найти производную функции Собственные значения и собственные векторы матрицы matlabпо переменной h :

» diff(sin(x+h)/x,h) % В записи указывается имя символьной переменной, по которой

6.4. Найти вторую производную от функции Собственные значения и собственные векторы матрицы matlabпо переменной h :

6.5. Найти вторую производную от функции Собственные значения и собственные векторы матрицы matlabпо переменной х:

» diff(sin(x+h)/x,2) % Цифра два указывает на порядок производной

6.6. Найти третью производную от функции Собственные значения и собственные векторы матрицы matlabпо переменной h :

7. Интегрирование функции одной переменной — int .

7.1. Вычисление неопределенного интеграла:

% Вычислить интеграл Собственные значения и собственные векторы матрицы matlab:

% Вычислить интеграл Собственные значения и собственные векторы матрицы matlab:

» int((x+h)^2) % По умолчанию интегрирование ведется по переменной х

% Вычислить неопределенный интеграл от функции Собственные значения и собственные векторы матрицы matlabпо переменной h :

% Вычислить неопределенный интеграл от функции Собственные значения и собственные векторы матрицы matlabпо переменной x :

1/2*x^2+2*h*x+h^2*log(x) % В ответе имеется в виду натуральный логарифм

7.2. Вычисление определенного интеграла.

% Вычислить определенный интеграл Собственные значения и собственные векторы матрицы matlab:

% Вычислить определенный интеграл Собственные значения и собственные векторы матрицы matlabпо переменной h :

8. Решение обыкновенных дифференциальных уравнений в символьном виде — dsolve .

Решатель дифференциальных уравнений может быть использован, если решение существует в аналитическом виде. Практически это означает, что решателем dsolve можно пользоваться только при поиске решения линейного дифференциального уравнения (или системы линейных уравнений).

8 .1. Решить дифференциальное уравнение Собственные значения и собственные векторы матрицы matlabс начальным условием Собственные значения и собственные векторы матрицы matlabПостроить график решения в интервале [-0.5, 7].

% Создадим следующий сценарий под именем sdif1 :

% Решение диф.уравнения в символьном виде

% Область построения графика решения можно задавать без квадратных скобок

8 .2. Решить систему однородных дифференциальных уравнений Собственные значения и собственные векторы матрицы matlabс начальными условиями Собственные значения и собственные векторы матрицы matlabПостроить график решения в интервале [-0.5, 13].

% Создадим следующий сценарий под именем sdif2 :

ezplot(x1,0,13),grid,hold on,ezplot(x2,[0,13]),title (‘Однородная система 2-х уравнений’)

8.3. Решить систему неоднородных дифференциальных уравнений

Собственные значения и собственные векторы матрицы matlabс нулевыми начальными условиями и построить график решения в интервале [0, 5] для первой координаты Собственные значения и собственные векторы матрицы matlabи в интервале [0, 9] для второй координаты Собственные значения и собственные векторы матрицы matlab.

% Создадим следующий сценарий под именем sdif3 :

ezplot(x1,[0,5]),grid,hold on,ezplot(x2,[0,9]),title( ‘ Неоднородная система 2-х уравнений ‘)

8.4. Решить дифференциальное уравнение 2-го порядка Собственные значения и собственные векторы матрицы matlabс нулевыми начальными условиями и построить график решения в интервале [-0.2, 9] .

% Создадим следующий сценарий под именем sdif4 :

ezplot(x,[-0.2 9]),grid,title (‘Д иф.уравнение 2-го порядка ‘)

8.5. Решить дифференциальное уравнение 3-го порядка Собственные значения и собственные векторы матрицы matlabс нулевыми начальными условиями и построить график решения в интервале [-0.2, 21] .

% Создадим следующий сценарий под именем sdif5 :

ezplot(x,[-0.2 21]),grid,title (‘Диф.уравнение 3-го порядка’)

8.6. Решить неоднородную систему дифференциальных уравнений 3-го порядка

Собственные значения и собственные векторы матрицы matlabс нулевыми начальными условиями и построить график решения по каждой координате в одной системе координат в интервале [-1, 19] с различными цветами по Собственные значения и собственные векторы матрицы matlab, Собственные значения и собственные векторы матрицы matlab, Собственные значения и собственные векторы матрицы matlab.

% Создадим следующий сценарий под именем sdif6 :

ezplot(x1,[-1,19]),grid, hold on,ezplot(x2,[-1,19],

title (‘Н еоднородная система 3-го порядка ‘),

% Функция ezplot не позволяет строить графики с заданными цветами. Применим fplot . Для этого в функцию fplot следует вставить решения из командного окна MATLAB. Например, решение по первой координате имеет вид

% Тогда формат записи fplot для графика по х1 будет следующий (с красным цветом):

% Через hold on можно добавить еще fplot по второй координате х2 и по третьей х3.

¾ Для объекта с передаточной функцией Собственные значения и собственные векторы матрицы matlabрешить соответствующее дифференциальное уравнение при нулевых начальных условиях и построить график решения (переходный процесс).

¾ Для того же объекта с передаточной функцией W(s) записать систему дифференциальных уравнений первого порядка, решить ее и сравнить с решением соответствующего дифференциального уравнения 3-го порядка.

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

Собственные значения и собственные векторы матрицы matlab

¾ Решение в символьном виде систем дифференциальных уравнений сравнить с решением численного метода с помощью решателя ode45.

Видео:Собственные векторы и собственные значения матрицыСкачать

Собственные векторы и собственные значения матрицы

Вычисление собственных значений и собственных векторов симметричной матрицы

Вычислить собственные значения и собственные векторы симметричной матрицы А на ЭВМ (требуется составить программу в системе MATLAB (на М-языке)) и определить максимальное по модулю собственное число и соответствующий собственный вектор степенным методом (ручной счет). Варианты задания. Собственные значения и собственные векторы матрицы matlab

где p = 2(G + S); m = —p + S‘, К — номер факультета (института); G — номер группы; S — номер студента по журналу.

Пример выполнения лабораторной работы.

Пусть задана матрица

Ручной счет. Собственные значения и собственные векторы матрицы matlab

Задаем начальное приближение Собственные значения и собственные векторы матрицы matlabВыполняем нулевой шаг:

Собственные значения и собственные векторы матрицы matlab

Выполняем второй шаг:

Собственные значения и собственные векторы матрицы matlab Собственные значения и собственные векторы матрицы matlab

Выполняем третий шаг: Оцениваем погрешность: Собственные значения и собственные векторы матрицы matlab

Таким образом, можем записать ответ в виде

Собственные значения и собственные векторы матрицы matlab

Выполнение работы на ЭВМ.

Для выполнения создается М-файл. Ниже приведен текст М-файла.

A=input(‘Введите матрицу А=’);

fprintf(‘п Исходная матрица (Матрица А) п’); for i=l:n

fprintf(‘ Вектор собственных чисел ‘) fprintf(‘%6.2f ‘,x);

fprintf(‘ Матрица собственных векторов ‘); for i=l:n

Результаты расчета в командном окне:

Исходная матрица (Матрица А) 5.00-3.00 4.00

Вектор собственных чисел

Матрица собственных векторов

  • 0.7071 0.5774 0.4082
  • 0 0.5774 -0.8165
  • -0.7071 0.5774 0.4082

Ниже приведены пояснения к приведенному тексту программы.

  • 1. Заметим, что в представленной программе (а также в последующих программах, относящихся к данной лабораторной работе), при задании значений элементов матрицы А множитель 1/6 учитывать не надо — деление на 6 уже предусмотрено в тексте программы. Это сделано для упрощения ввода исходных данных и исключения соответствующих погрешностей. После запуска программы в ответ на запрос о вводе матрицы А следует задать: [30 -18 24; -18 72 -18; 24 -18 30].
  • 2. Функция [v,D]=eig(A) в системе MATLAB возвращает матрицу собственных векторов V (собственные векторы расположены по столбцам) и диагональную матрицу D собственных значений (матрица Жордана (элементы, расположенные на ее главной диагонали есть собственные значения матрицы а); каноническая форма матрицы а), т.е., по сути, определяется разложение Жордана (но при условия отсутствия в матрице Жордана жор- дановых клеток порядка, большего единицы) и справедливо равенство a*v=v*d. В частном случае, при обращении типа d=eig(A) возвращается вектор d, координаты (элементы) которого есть собственные значения (собственные числа) матрицы А.

Собственные значения и собственные векторы матрицы matlab

Собственные значения и собственные векторы матрицы matlab

Методы вычисления собственных значений и собственных векторов матриц
Собственные векторы и собственные значения неотрицательных матриц
Собственные значения и собственные векторы матрицы
СОБСТВЕННЫЕ ЗНАЧЕНИЯ И СОБСТВЕННЫЕ ВЕКТОРЫ МАТРИЦ
Собственные значения и собственные векторы матрицы.
Обращение матриц и нахождение их собственных значений и собственных векторов в MathCAD.
Анализ существующих методов нахождения собственных ЧИСЕЛ И СОБСТВЕННЫХ ВЕКТОРОВ
Собственные значения обратной матрицы.

‘, а // = 1/Л — собственное значение матрицы А

Видео:Собственные значения и собственные векторы матрицы (4)Скачать

Собственные значения и собственные векторы матрицы (4)

Собственные значения и собственные векторы матрицы matlab

Матричные операции линейной алгебры

Вычисление нормы и чисел обусловленности матрицы

Определитель и ранг матрицы

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

Определение ортонормированного базиса матрицы

Приведение матрицы к треугольной форме

Определение угла между двумя подпространствами

Вычисление следа матрицы

LU- и QR-разложения

Вычисление собственных значений и сингулярных чисел

Приведение матриц к формам Шура и Хессенберга

Линейная алгебра — область, в которой наиболее часто используются векторы и матрицы. Наряду с операциями общего характера, рассмотренными выше, применятся функции, решающие наиболее характерные задачи линейной алгебры. Они и рассмотрены в данном уроке.

Вычисление нормы и чисел обусловленности матрицы

Для понимания всего нижеизложенного материала необходимо учесть, что нормы матриц в MATLAB отличаются от норм векторов.

Пусть А —матрица. Тогда n=norm(A) эквивалентно п=погп(А,2) и возвращает вторую норму, т. е. самое большое сингулярное число А. Функция n=norm(A, 1) возвращает первую норму, т. е. самую большую из сумм абсолютных значений элементов матрицы по столбцам. Норма неопределенности n=norm(A, inf) возвращает самую большую из сумм абсолютных значений элементов матрицы по рядам. Норма Фробениуса (Frobenius) norm(A, ‘fro’) = sqrt(sum(diag(A’A))).

Числа обусловленности матрицы определяют чувствительность решения системы линейных уравнений к погрешностям исходных данных. Следующие функции позволяют найти числа обусловленности матриц.

cond(X) — возвращает число обусловленности, основанное на второй норме, то есть отношение самого большого сингулярного числа X к самому малому. Значение cond(X), близкое к 1, указывает на хорошо обусловленную матрицу;

с = cond(X.p) — возвращает число обусловленности матрицы, основанное на р -норме: norm(X.p)*norm(inv(X),p), где р определяет способ расчета:

    р=1 — число обусловленности матрицы, основанное на первой норме;

    р=2 — число обусловленности матрицы, основанное на второй норме;

    p= ‘fro’ — число обусловленности матрицы, основанное на норме Фробе-ниуса (Frobenius);

    р=’inf’ — число обусловленности матрицы, основанное на норме неопределенности.

    с = cond(X) — возвращает число обусловленности матрицы, основанное на второй норме.

    condeig(A) — возвращает вектор чисел обусловленности для собственных значений А. Эти числа обусловленности — обратные величины косинусов углов между левыми и правыми собственными векторами;

    [V.D.s] = condeig(A) — эквивалентно [V,D] = eig(A): s = condeig(A);.

    Большие числа обусловленности означают, что матрица А близка к матрице с кратными собственными значениями.

    rcond(A) — возвращает обратную величину обусловленности матрицы А по первой норме, используя оценивающий обусловленность метод LAPACK. Если А — хорошо обусловленная матрица, то rcond(A) около 1.00, если плохо обусловленная, то около 0.00. По сравнению с cond функция rcond реализует более эффективный в плане затрат машинного времени, но менее достоверный метод оценки обусловленности матрицы.

    Определитель и ранг матрицы

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

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

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

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

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

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

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

    rank (А) — возвращает количество сингулярных чисел, которые являются большими, чем заданный по умолчанию допуск;

    rank(A.tol) — возвращает количество сингулярных чисел, которые превышают tol. Пример:

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

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

    norm(X)=norm(X,2) — вторая норма возвращает наибольшее сингулярное число X, max(svd(X));

    norm(X.p) , где р — целое положительное число, — возвращает корень степени р из суммы абсолютных значений элементов вектора, возведенных в степень р. При р = 1 это может совпадать либо с первой нормой, либо с нормой неопределенности матриц;

    norm(X, ‘inf’) возвращает максимальное из абсолютных значений элементов вектора; О norm(X, ‘-Inf’) возвращает минимальное из абсолютных значений элементов вектора.

    Определение ортонормированного базиса матрицы

    Вычисление ортонормированного базиса матрицы обеспечивают нижеприведенные функции:

    В = orth(A) — возвращает ортонормированный базис матрицы А. Столбцы В определяют то же пространство, что и столбцы матрицы А, но столбцы В ортогональны, то есть B*B=eye(rank(A)). Количество столбцов матрицы В равно рангу матрицы А.

    » А=[2 4 6:9 8 2:12 23 43]

    0.9776 0.1597 0.1371

    null (А) — возвращает ортонормированный базис для нулевого (пустого) пространства А.

    Функции приведения матрицы к треугольной форме

    Треугольной называется квадратная матрица А, если при l>k (верхняя треугольная матрица) или при к>1(нижняя треугольная матрица) элементы матрицы A(l,k) равны нулю. В строго треугольной матрице нули находятся и на главной диагонали. В линейной алгебре часто используется приведение матриц к той или иной треугольной форме. Оно реализуется следующими функциями:

    rref (A) — возвращает приведенную к треугольной форме матрицу, используя метод исключения Гаусса с частичным выбором ведущего элемента. По умолчанию принимается значение порога допустимости для незначительного элемента столбца, равное (max(s1ze(A))*eps*norm(A,inf));

    [R, jb] = rref (A) — также возвращает вектор jb, так что:

      r = length (jb) может служить оценкой ранга матрицы А;

      х( jb) — связанные переменные в системе линейных уравнений вида Ах=b;

      А(:, jb) — базис матрицы А;

      R(l:r.jb) — единичная матрица размера rхr;

      [R. jb] = rref (A,to!) — осуществляет приведение матрицы к треугольной форме, используя метод исключения Гаусса с частичным выбором ведущего элемента для заданного значения порога допустимости tol;

      rrefmovie(A) — показывает пошаговое исполнение процедуры приведения матрицы к треугольной.

      Определение угла между двумя подпространствами

      Угол между двумя подпространствами вычисляет функция subsрасе:

      theta = subspace(A.B) — возвращает угол между двумя подпространствами, натянутыми на столбцы матриц А и В. Если А и В — векторы-столбцы единичной длины, то угол вычисляется по формуле acos(A’*B). Если некоторый физический эксперимент описывается массивом А, а вторая реализация этого эксперимента — массивом В, то subspace(A.B) измеряет количество новой информации, полученной из второго эксперимента и не связанной со случайными ошибками и флуктуациями.

      » Н = hadamard(20);A = Н(:.2:4);В = Н(:.5:8):

      Вычисление следа матрицы

      След матрицы А — это сумма ее диагональных элементов. Он вычисляется функцией trace:

      trace(A) — возвращает след матрицы. Пример:

      Разложение Холецкого — известный прием матричных вычислений. Функция chol находит это разложение для действительных и комплексных эрмитовых матриц.

      R = chol(X) — для квадратной матрицы [Положительно определенной называется действительная симметрическая матрица, все собственные значения которой положительны. Поскольку используется только верхний треугольник матрицы X, матрица X не обязательно должна быть симметрической. — Примеч. ред.]. X возвращает верхнюю треугольную матрицу R, так что R’*R=X new . Если симметрическая матрица X new , заданная верхней треугольной частью и диагональю матрицы X, не является положительно определенной матрицей, выдает сообщение об ошибке. Разложение Холецкого возможно для действительных и комплексных эрмитовых матриц [Квадратная матрица с комплексными элементами, комплексно сопряженная матрица которой может быть получена транспонированием, т. е. равна транспонированной матрице (А*=А). — Примеч. ред.];

      [R.p] = chol (X) с двумя выходными аргументами никогда не генерирует сообщение об ошибке в ходе выполнения разложения Холецкого квадратной матрицы X. Если верхняя треугольная часть и диагональ X задают положительно определенную матрицу, то р=0, a R совпадает с вышеописанным случаем, иначе р. — положительное целое число, a R — верхняя треугольная матрица порядка q=p-l, такая что R’*R=X(l:q,l:q).

      Обращение матриц — функции inv, pinv

      Обращение матриц — одна из наиболее распространенных операций матричного анализа. Обратной называют матрицу, получаемую в результате деления единичной матрицы Е на исходную матрицу X. Таким образом, Х^-1=Е/Х. Следующие функции обеспечивают реализацию данной операции:

      inv(X) — возвращает матрицу, обратную квадратной матрице X. Предупреждающее сообщение выдается, если X плохо масштабирована или близка к вырожденной.

      -0.76201.2122 1.7041 -1.2146

      -2.04081.4228 1.5538 1.3730

      На практике вычисление явной обратной матрицы не так уж необходимо. Чаще операцию обращения применяют при решении системы линейных уравнений вида Ах=b. Один из путей решения этой системы — вычисление x=inv(A)*b. Но лучшим с точки зрения минимизации времени расчета и повышения точности вычислений является использование оператора матричного деления х=Аb. Эта операция использует метод исключения Гаусса без явного формирования обратной матрицы.

      В = pinv(A) — возвращает матрицу, псевдообратную матрице А (псевдообращение матрицы по Муру-Пенроузу). Результатом псевдообращения матрицы по Муру-Пенроузу является матрица В того же размера, что и А’, и удовлетворяющая условиям А*В*А=А и В*А*В=В. Вычисление основано на использовании функции svd(A) и приравнивании к нулю всех сингулярных чисел, меньших величины tol;

      В = pinv (A. tol) — возвращает псевдообратную матрицу и отменяет заданный по умолчанию порог, равный max(size(A))*norm(A)*eps.

      -0.87751.1636 0.6605 -0.0034

      LU- и QR-разложения

      Так называемые LU- и QR-разложения реализуются следующими матричными функциями:

      Функция 1и выражает любую квадратную матрицу X как произведение двух треугольных матриц, одна из которых (возможно, с перестановками) — нижняя тре угольная матрица, а другая — верхняя треугольная матрица[ В MATLAB 6 аргументом (входным аргументом) функции lu может быть и полная прямоугольная матрица. — Примеч. ред.]. Иногда эту операцию называют LR-разложением. Для выполнения этой операции служит следующая функция:

      [L,U] = lu(X) — возвращает верхнюю треугольную матрицу U и психологическую нижнюю матрицу L (т. е. произведение нижней треугольной матрицы и матрицы перестановок), так что X=L*U;

      [L,U,P.] = lu(X) — возвращает верхнюю треугольную матрицу U, нижнюю треугольную матрицу L и сопряженную (эрмитову) матрицу матрицы перестановок Р, так что L*U =Р*Х;

      lu(Х) — вызванная с одним выходным параметром функция возвращает результат из подпрограмм DGETRF (для действительных матриц) или ZGETRF (для комплексных) известного пакета программ линейной алгебры LAPACK.

      lu(X, thresh) — где thresh в диапазоне [0. 1] управляет центрированием в разреженных матрицах (см. урок 12). Отдельная форма предыдущего случая. Центрирование происходит, если элемент столбца на диагонали меньше, чем произведение thresh и любого поддиагонального элемента. Thresh=l — значение по умолчанию. Thresh=0 задает центрирование по диагонали. Если матрица полная (не разреженная), выводится сообщение об ошибке.

      Функция qr выполняет QR-разложепие матрицы. Эта операция полезна для квадратных и треугольных матриц. Она выполняет QR-разложение, вычисляя произведение унитарной [Квадратная матрица с комплексными элементами, обладающая тем свойством, что обратная матрица ее комплексно сопряженной матрицы равна транспонированной, т. е. (А*)»-А’. — Примеч. ред.] матрицы и верхней треугольной матрицы. Функция используется в следующих формах: [ Квадратная матрица с комплексными элементами, обладающая тем свойством, что обратная матрица ее комплексно сопряженной матрицы равна транспонированной, т. е. (А*)»-А’. — Примеч. ред.]

      [Q.R] = qr(X) — вычисляет верхнюю треугольную матрицу R того же размера, как и у X, и унитарную матрицу Q, так что X=Q*R;

      [Q.R.E] = qr(X) — вычисляет матрицу перестановок Е, верхнюю треугольную матрицу R с убывающими по модулю диагональными элементами и унитарную матрицу Q, так что X*E=Q*R. Матрица перестановок Е выбрана так, что abs(diag(R)) уменьшается;

      [Q.R] = qr(X.O) и [Q.R.E] = qr(X,0) — вычисляют экономное разложение, в котором Е — вектор перестановок, так что Q*R=X(: ,Е). Матрица Е выбрана так, что abs(diag(R)) уменьшается;

      А = qr(X) — возвращает результат из LAPACK. Пример:

      0.8381 0.5028 0.1934 0.6979

      0.0196 0.7095 0.6822 0.3784

      0.6813 0.4289 0.3028 0.8600

      0.3795 0.3046 0.5417 0.8537

      0.8318 0.1897 0.1509 0.5936

      -0.5922-0.11140.5197 0.0743 -0.6011

      -0.0139-0.9278 -0.0011 -0.34480.1420

      -0.4814-0.11730.0699 0.5940 0.6299

      -1.4152 -0.7072 -0.5037 -1.4103

      0 -0.7541 -0.7274 -0.4819

      0 0 -0.3577 -0.4043

      [Q,R] = qrdelete(Q,R, j) — изменяет Q и RTaKHM образом, чтобы пересчитать QR-разложение матрицы А для случая, когда в ней удален j-й столбец (А(:, j )=[ ]). Входные значения Q и R представляют QR-разложение матрицы А как результат действия [Q. R]=qr(A)..Аргумент j определяет столбец, который должен быть удален из матрицы А.

      0.0164 0.0576 0.7176

      0.1901 0.3676 0.6927

      0.5869 0.6315 0.0841

      [Q.R] = qrinsert(Q,R,j,x) — изменяет Q и R таким образом, чтобы пересчитать разложение матрицы А для случая, когда в матрице А перед j-м столбцом вставлен столбец х. Входные значения Q и R представляют QR-разложение матрицы А как результат действия [Q,R]=qr(A). Аргумент х — вектор-столбец, который нужно вставить в матрицу А. Аргумент j определяет столбец, перед которым будет вставлен вектор х.

      0.1210 0.8928 0.8656

      0.4508 0.2731 0.2324

      0.7159 0.2548 0.8049

      0 0.6112 0.6163 0.7369

      Вычисление собственных значений и сингулярных чисел

      Во многих областях математики и прикладных наук большое значение имеют средства для вычисления собственных значений (собственных чисел, характеристических чисел, решений векового уравнения) матриц, принадлежащих им векторов и сингулярных чисел. В новой версии MATLAB собственные вектора нормализуются, иначе, чем в предыдущих. Основной критерий: либо V’V=I, либо V’BV=I, где V — собственный вектор, I — единичная матрица. Поэтому результаты вычислений в новой версии, как правило, отличаются. Ниже дан список средств решения векового уравнения, реализованных в системе MATLAB.

      Несимметрические матрицы могут быть плохо обусловлены при вычислении их собственных значений. Малые изменения элементов матрицы, такие как ошибки округления, могут вызвать большие изменения в собственных значениях. Масштабирование — это попытка перевести каждую плохую обусловленность собственных векторов матрицы в диагональное масштабирование. Однако масштабирование обычно не может преобразовать несимметрическую матрицу в симметрическую, а только пытается сделать (векторную) норму каждой строки равной норме соответствующего столбца. Масштабирование значительно повышает стабильность собственных значений.

      [D.B] = balance(A) — возвращает диагональную матрицу D, элементы которой являются степенями основания 2, и масштабированную матрицу В, такую, что B=DA*D, а норма каждого ряда масштабированной матрицы приближается к норме столбца с тем же номером;

      В = balance(A) — возвращает масштабированную матрицу В. Пример использования функции balance:

      » А=[1 1000 10000:0.0001 1 1000:0.000001 0.0001 1]

      0.0001 0.1000 1.0000

      0.0000 0.0001 0.1000

      0.0000 0.0000 0.0001

      1.0000 0.9766 0.0095

      0.1024 1.0000 0.9766

      1.0486 0.1024 1.0000

      Величина, связывающая погрешность вычисления собственных значений с погрешностью исходных данных, называется числом обусловленности (собственных значений) матрицы и вычисляется следующим образом:

      cond(V) = norm(V)*norm(inv(V)) где [V.D]=eig(A).[ B=DA*D, а норма каждого ряда масштабированной матрицы приближается к норме столбца с тем же номером; ]

      eig(A) — возвращает вектор собственных значений квадратной полной или симметрической разреженной матрицы А обычно после автоматического масштабирования, но для больших разреженных матриц (в терминологии MATLAB —

      это просто полные матрицы со сравнительно большим [Но небольшим по сравнению с числом нулей разреженной матрицы. Эталонное число нулей разреженной матрицы данного размера можно вычислить, применив к полной матрице этого же размера функцию sparse. — Примеч. ред.] числом нулей), а также во всех случаях, где помимо собственных значений необходимо получать и собственные вектора разреженной матрицы, вместо нее рекомендовано использовать eigs(A);

      eig(A.B) — возвращает вектор обобщенных собственных значений квадратных матриц А и В;

        [V.D] = eig(A.B) — вычисляет диагональную матрицу обобщенных собственных значений D и матрицу V, столбцы которой являются соответствующими собственными векторами (правыми собственными векторами), таким образом что А V = В V D;

        [V.D] = eig(A) — вычисляет диагональную матрицу собственных значений О матрицы А и матрицу V, столбцы которой являются соответствующими собственными векторами (правыми собственными векторами), таким образом что А V = V D.

        Нужно использовать [W,D]=e1g(A’); W=W, чтобы вычислить левые собственные вектора, которые соответствуют уравнению W*A=D*W.

        [V.D] = eig(A,’nobalance’) — находит собственные векторы и собственные значения без предварительного масштабирования. Иногда это улучшает обусловленность входной матрицы, обеспечивая большую точность вычисления собственных векторов для необычно масштабированных матриц;

        eig(A.B. ‘chol’) — возвращает вектор, содержащий обобщенные собственные значения, используя разложение матрицы В по методу Холецкого; если А — симметрическая квадратная матрица и В — симметрическая положительно определенная квадратная матрица, то eig(A.B) по умолчанию работает точно так же;

        eig(A,B, ‘qz’) — не требует, чтобы матрицы были симметрическими и возвращает вектор, содержащий обобщенные собственные значения, используя QZ-алгоритм; при явном указании этого флага QZ-алгоритм используется вместо алгоритма Холецкого даже для симметрической матрицы и симметрической положительно определенной матрицы В, так как может давать более стабильные значения, чем предыдущий метод. Для несимметрических матриц в MATLAB 6 всегда используется QZ-алгоритм и параметр ‘chol’ или ‘qz’ игнорируется;

        [V.D] = eig(A.B) — возвращает диагональную матрицу обобщенных собственных значений D и матрицу V, чьи столбцы являются соответствующими собственными векторами, так чтобы A*V=B*V*D. Пример:

        » В = [3 -12 -.6 2*eps:-2 48 -1 -eps;-eps/8 eps/2 -1 10;-.5 -.5 .3 1]

        3.0000 -12.0000 -0.60000.0000

        -0.0000 0.0000 -1.0000 10.0000

        -0.5000 -0.5000 0.3000 1.0000

        -0.2548 0.7420 -0.4842 0.1956

        0.9670 0.0193 -0.0388 0.0276

        -0.0015 -0.6181 -0.8575 0.9780

        -0.0075 -0.2588 -0.1694 -0.0676

        svd(X) — возвращает вектор сингулярных чисел. Команда svd выполняет сингулярное разложение матрицы X;

        💡 Видео

        Собственные векторы и собственные числа линейного оператораСкачать

        Собственные векторы и собственные числа линейного оператора

        Собственные значения и собственные векторыСкачать

        Собственные значения и собственные векторы

        MatLab. 6.6d. Собственные числа и векторы матриц, функции матрицСкачать

        MatLab. 6.6d. Собственные числа и векторы матриц, функции матриц

        Собственные значения и собственные векторы. ТемаСкачать

        Собственные значения и собственные векторы. Тема

        Собственные векторы и собственные числа линейного оператораСкачать

        Собственные векторы и собственные числа линейного оператора

        А.7.35 Собственные вектора и собственные значения матрицыСкачать

        А.7.35 Собственные вектора и собственные значения матрицы

        Линал 1.8 Собственные векторы и собственные числаСкачать

        Линал 1.8 Собственные векторы и собственные числа

        Собственные векторы и собственные значенияСкачать

        Собственные векторы и собственные значения

        Собственные значения и собственные векторы. ПримерСкачать

        Собственные значения и собственные векторы. Пример

        7 4 Собственные векторы и собственные значенияСкачать

        7 4  Собственные векторы и собственные значения

        Основные действия с матрицами и векторами в MathCAD 14 (20/34)Скачать

        Основные действия с матрицами и векторами в MathCAD 14 (20/34)

        Собственные значения матрицыСкачать

        Собственные значения матрицы

        Урок 10 Собственные векторы и собственные значения матрицыСкачать

        Урок 10  Собственные векторы и собственные значения матрицы

        MATLAB 04 Массивы и матрицыСкачать

        MATLAB 04 Массивы и матрицы

        Собственные числа матрицыСкачать

        Собственные числа матрицы

        Айгенвектора и айгензначения | Сущность Линейной Алгебры, глава 10Скачать

        Айгенвектора и айгензначения | Сущность Линейной Алгебры, глава 10

        Овчинников А. В. - Линейная алгебра - Собственные значения и собственные векторы линейного оператораСкачать

        Овчинников А. В. - Линейная алгебра - Собственные значения и собственные векторы линейного оператора

        Квантовая механика 8 - Операторы. Собственные векторы и собственные значения.Скачать

        Квантовая механика 8 - Операторы. Собственные векторы и собственные значения.
        Поделиться или сохранить к себе: