И другие программы этой серии
Аргумент j опре
деляет столбец, перед которым будет вставлен вектор x. Примеры:
>> C=rand(3,3)
C=
0.1210
0.8928
0.8656
0.4508
0.2731
0.2324
0.7159
0.2548
0.8049
>> [Q,R]=qr(C)
Q=
-0.1416
0.9835
0.1126
-0.5275
0.0213
-0.8493
-0.8377
-0.1797
0.5157
R=
-0.8546
-0.4839
-0.9194
0
0.8381
0.7116
0
0
0.3152
>> x=[0.5,-0.3,0.2];[Q2,R2]=qrinsert(Q,R,2,x\')
Q2 =
-0.1416
0.7995
-0.5838
-0.5275
-0.5600
-0.6389
-0.8377
0.2174
0.5010
R2 =
-0.8546
-0.0801
-0.4839
-0.9194
0
0.6112
0.6163
0.7369
0
0
-0.5681
-0.2505
Величина, связывающая погрешность вычисления собственных значений
с погрешностью исходных данных, называется числом обусловленности
(собственных значений) матрицы и вычисляется следующим образом:
226
Операции с векторами и матрицами
cond(V) = norm(V)*norm(inv(V))
Матричные операции линейной алгебры
B=
3.0000
-2.0000
-0.0000
-0.5000
>> [G,H]=eig(B)
G=
-0.2548
0.9670
-0.0015
-0.0075
H=
48.5287
0
0
0
-12.0000
48.0000
0.0000
-0.5000
-0.6000
-1.0000
-1.0000
0.3000
0.0000
-0.0000
10.0000
1.0000
227
•
•
•
•
•
•
•
•
где [V,D]=eig(A);
eig(A) возвращает вектор собственных значений квадратной полной или
симметрической разреженной матрицы A, обычно после автоматического
масштабирования, но для больших разреженных матриц (в терминологии
MATLAB это просто полные матрицы со сравнительно небольшим числом
нулей), а также во всех случаях, где помимо собственных значений необхо
димо получать и собственные вектора разреженной матрицы, вместо нее
рекомендовано использовать eigs(A);
eig(A,B) возвращает вектор обобщенных собственных значений квадрат
ных матриц A и B;
[V,D] = eig(A,B) вычисляет диагональную матрицу обобщенных соб
ственных значений D и матрицу V, столбцы которой являются соответству
ющими собственными векторами (правыми собственными векторами), та
ким образом, что A V = B V D;
[V,D] = eig(A) вычисляет диагональную матрицу собственных значений
D матрицы A и матрицу V, столбцы которой являются соответствующими
собственными векторами (правыми собственными векторами), таким обра
зом, что A V = V D.