Автор: Пользователь скрыл имя, 20 Марта 2012 в 19:40, лабораторная работа
Цель работы: создание программного модуля для сингулярного разложения произвольной матрицы.
Лабораторная работа №2 Улизко Карина 8829кф
Цель работы: создание программного модуля для сингулярного разложения произвольной матрицы.
>> M=7*rand(3,4)
M =
6.6509 3.4019 3.1953 3.1129
1.6180 6.2391 0.1295 4.3080
4.2479 5.3347 5.7499 5.5436
>> [U S V]=svd(M)
U =
-0.5533 0.5370 -0.6367
-0.4511 -0.8358 -0.3129
-0.7002 0.1141 0.7048
S =
14.7261 0 0 0
0 4.6734 0 0
0 0 2.7247 0
V =
-0.5015 0.5786 -0.6413 0.0500
-0.5726 -0.5946 -0.1316 -0.5488
-0.3974 0.4844 0.7257 -0.2842
-0.5125 -0.2774 0.2117 0.7846
>> U*U'
ans =
1.0000 0.0000 -0.0000
0.0000 1.0000 -0.0000
-0.0000 -0.0000 1.0000
>> V*V'
ans =
1.0000 0.0000 -0.0000 0.0000
0.0000 1.0000 0.0000 -0.0000
-0.0000 0.0000 1.0000 0.0000
0.0000 -0.0000 0.0000 1.0000
>> M1=U(:,1)*S(1,1)*V(:,1)'
M1 =
4.0862 4.6660 3.2385 4.1764
3.3314 3.8042 2.6403 3.4050
5.1707 5.9045 4.0980 5.2849
>> M2=U(:,2)*S(2,2)*V(:,2)'
M2 =
1.4523 -1.4924 1.2158 -0.6962
-2.2602 2.3227 -1.8921 1.0835
0.3086 -0.3171 0.2583 -0.1479
>> M3=U(:,3)*S(3,3)*V(:,3)'
M3 =
1.1125 0.2283 -1.2590 -0.3673
0.5467 0.1122 -0.6187 -0.1805
-1.2314 -0.2527 1.3935 0.4065
>> MI=M1+M2+M3
MI =
6.6509 3.4019 3.1953 3.1129
1.6180 6.2391 0.1295 4.3080
4.2479 5.3347 5.7499 5.5436
>> U0=ones(1,3)
U0 =
1 1 1
>> V0=ones(1,4)
V0 =
1 1 1 1
>> V1=U0*M
V1 =
12.5168 14.9756 9.0746 12.9645
>> V1=V1/norm(V1)
V1 =
0.4981 0.5960 0.3612 0.5160
>> S0=U0*M*V0'
S0 =
49.5316
>> S0=U0*M*V1'
S0 =
25.1270
>> abs(S-S0)
ans =
10.4009 25.1270 25.1270 25.1270
25.1270 20.4536 25.1270 25.1270
25.1270 25.1270 22.4024 25.1270
>>
Информация о работе Лабораторная работа по дисциплине "Информатика"