1 семестр ИКТ / лаба №9
.docx
Отчет по лабораторной работе №9
Упражнение 1:
Найти ранг и какой-нибудь базис системы геометрических векторов , , , . Разложить вектор по этому базису. Сделать проверку.
A=[-1 2 0;2 -1 1;-4 5 -1;3 -3 1];
rank(A)
ans =2
Значит, здесь 2 линейно независимых вектора
A=[-1 2; 2 -1]
B = [4;1]
X = inv(A)*B
X =
2
3
(Разложение вектора по базису)
Упражнение 2
В пространстве R4 заданы векторы , , , . Доказать, что - базис в R4. Написать матрицу перехода , где В – канонический базис в R4. Найти в базисе координаты вектора . Сделать проверку.
B=[1 1 1 1;1 1 -1 -1;1 -1 1 -1;1 -1 -1 1]
rank(B)
ans =4
B=B’- (т.к. канонический вид)
X=inv(B)*[1;2;1;1]
X =
1.2500
0.2500
-0.2500
-0.2500 (Координаты X в базисе B’)
Упражнение 3:
Доказать, что система многочленов образует базис в пространстве многочленов . Записать в этом базисе координаты многочлена . Сделать проверку.
A=[1 0 1;1 0 -1;1 -1 0]
det(A)
ans =-2
(Значит образуют базис(det(A)не равен нулю))
rank(A)
ans =3
B=[2;-2;1]
B1=inv(A)*B
B1 =
0
-1
2
Проверка:
A*B1
ans =
2
-2
1
Упражнение 4:
Применить процесс ортогонализации Шмидта к указанным системам векторов. Проверить ортогональность полученной системы. Сделать рисунок.
;
.
1)
f1=[1 1]
f2=[0 1]
e1=f1
e2=f2-(dot(e1,f2)/dot(e1,e1))*e1
hold on
grid on
quiver(0,0,e1(1),e1(2),'m');
quiver(0,0,e2(1),e2(2),'k');
quiver(0,0,f2(1),f2(2),'g');
e1 = 1 1
e2 = -0.5000 0.5000
2)
f1=[1 1 1]
f2=[2 1 2]
f3=[-3 0 2]
e1=f1
e2=f2-(dot(e1,f2)/dot(e1,e1))*e1
e3=f3-(dot(e1,f3)/dot(e1,e1))*e1-(dot(e2,f3)/dot(e2,e2))*e2
hold on
grid on
quiver3(0,0,0,e1(1),e1(2),e1(3),'k');
quiver3(0,0,0,e2(1),e2(2),e2(3),'y');
quiver3(0,0,0,e3(1),e3(2),e3(3),'g');
quiver3(0,0,0,f3(1),f3(2),f3(3),'m')
quiver3(0,0,0,f2(1),f2(2),f2(3),'b');
e1 =1 1 1
e2 =0.3333 -0.6667 0.3333
e3 = -2.5000 0 2.5000
Упражнение 5:
Составить в базисе (i, j, k) матрицу оператора проектирования векторов пространства на вектор .
𝑝𝑟(𝑎𝑏)=(𝑏𝑥 𝑏𝑦 𝑏𝑧)∗A∗B=(𝑏𝑥 𝑏𝑦 𝑏𝑧)∗Z
Где A=[ax;ay;az] ;
B=([ax ay az])/(sqrt((ax)^2+(ay)^2+(az)^2)
B =[0;-3;4]
a1=0;a2=-3;a3=4;
a=sqrt((a1)^2+(a2)^2+(a3)^2);
A=[a1^2/a a1*a2/a a1*a3/a;a2*a1/a a2*a2/a a2*a3/a; a3*a1/a a3*a2/a a3*a3/a]
Z=A*B
Z =
0
-15
20
Упражнение 6:
Матрица линейного оператора в некотором базисе равна . Найти матрицу этого оператора в базисе .
A=[1 2 0 1; 3 0 -1 2; 2 5 3 1; 1 2 1 3]
B = [1 0 0 0; 1 1 0 0; 1 1 1 0; 1 1 1 1]'
A1=inv(B)*A*B
A1 =
-2 0 1 0
1 -4 -8 -7
1 4 6 4
1 3 4 7
Упражнение 7:
Линейный оператор в базисе задан матрицей А. Найти его матрицу в базисе (координаты векторов даны в некотором базисе ):
,
A1 = [1 -2 1; -1 2 1; -1 3 1]
A2 = [1 0 2; 3 0 -2; 3 -1 -1]
T=(A2\A1)'
(Делим для того,чтобы увидеть во сколько раз координаты A2 больше A1)
A=[-1 1 2; 1 1 -2; 1 1 4]
B=inv(T)*A*T
B =
3.0000 1.0000 2.0000
-1.0000 6.0000 3.0000
3.0000 -10.0000 -5.0000
Дополнительное задание
Написать программу, реализующую процесс ортогонализации Шмидта для векторов в n-мерном пространстве. Проверить ее работу на примере упражнения 9.4. и найти ортогональные базисы для следующих систем векторов:
F = [1 1 1 1; 3 3 -1 -1; -2 0 6 8];
F = [1 2 2 -1; 1 1 -5 3; 3 2 8 -7];
F = [2 1 3 -1; 7 4 3 -3; 1 1 -6 0; 5 7 7 8].
function [ M ] =fun(F,k,n)
(Массив векторов задается так, чтобы каждый вектор составлял отдельную строку в задаваемой матрице. n - количество векторов)
M=zeros(n,k);
M(1, :)=F(1, :);
for i = 2:1:n
a=F(i, :);
b=a;
for j=1:1:(i-1)
b=b+(-dot(M(j, :),a)/dot(M(j, :),M(j, :)))*M(j,:);
end
M(i, :)=b;
end
end
Проверка:
F = [1 1 1 1; 3 3 -1 -1; -2 0 6 8];k=4; n=3;
fun(F,k,n)
ans =
1 1 1 1
2 2 -2 -2
-1 1 -1 1
F = [2 1 3 -1; 7 4 3 -3; 1 1 -6 0; 5 7 7 8];k=4; n=3;
fun(F,k,n)
ans =
2 1 3 -1
3 2 -3 -1
0 0 0 0
F = [2 1 3 -1; 7 4 3 -3; 5 7 7 8];k=4; n=3;
fun(F,k,n)
ans =
2 1 3 -1
3 2 -3 -1
1 5 1 10