Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 семестр_1 / ЛА / Модуль 4 / МП-12_Николаев_Олег_lab3_m4

.docx
Скачиваний:
16
Добавлен:
05.06.2015
Размер:
23.23 Кб
Скачать

Отчет к заданию 1.1

Найти собственные векторы и собственные значения линейного оператора , заданного матрицей и проверить результат с помощью функции eig()

A=[1 1 3;1 5 1;3 1 1];

syms h;

h=solve(det(A-h*eye(size(A))),h)

h – собственные значения

h =

-2

3

6

eig(A)

ans =

-2.0000

3.0000

6.0000

syms x1 x2 x3;

X=[x1;x2;x3];

b=sym('');

for i=1:1:length(h)

C=(A-h(i)*eye(size(A)));

r=double(rank(C));

f=C(1:r,:)*X;

[x1,x2]=solve(f(1),f(2));

b=[b;x1,x2,x3];

end

b

b =

[ -x3, 0, x3]

[ x3, -x3, x3]

[ x3, 2*x3, x3]

b=subs(b,x3,1)

b – собственные векторы

b =

-1 0 1

1 -1 1

1 2 1

Отчет к заданию 1.2

Привести матрицу линейного оператора к диагональному виду и найти соответствующий базис. Результаты поверить с помощью функции eig ()

A=[0 1 0 0;0 0 1 0;0 0 0 1;-6 1 7 -1];

syms h;

h=solve(det(A-h*eye(size(A))),h)

h – собственные значения

h =

-1

1

2

-3

eig(A)

ans =

-3.0000

-1.0000

2.0000

1.0000

syms x1 x2 x3 x4;

X=[x1;x2;x3;x4];

b=sym('');

for i=1:1:length(h)

C=(A-h(i)*eye(size(A)));

r=double(rank(C));

f=C(1:r,:)*X;

[x1,x2,x3]=solve(f(1),f(2),f(3));

b=[b;x1,x2,x3,x4];

end

b

b =

[ -x4, x4, -x4, x4]

[ x4, x4, x4, x4]

[ 1/8*x4, 1/4*x4, 1/2*x4, x4]

[ -1/27*x4, 1/9*x4, -1/3*x4, x4]

b=subs(b,x4,1)

b – базис

b =

-1.0000 1.0000 -1.0000 1.0000

1.0000 1.0000 1.0000 1.0000

0.1250 0.2500 0.5000 1.0000

-0.0370 0.1111 -0.3333 1.0000

diag(h)

диагональная матрица

ans =

[ -3, 0, 0, 0]

[ 0, -1, 0, 0]

[ 0, 0, 2, 0]

[ 0, 0, 0, 1]

[v,d]=eig(A);

d

d =

-3.0000 0 0 0

0 -1.0000 0 0

0 0 2.0000 0

0 0 0 1.0000

Отчет к заданию 1.3

Для матрицы найти диагональную матрицу D и унитарную (ортогональную) матрицу U и проверить результат с помощью функции eig()

A=[1 4*i 0;-4*i 1 0;0 0 1];

syms h;

h=solve(det(A-h*eye(size(A))),h);

diag(h)

диагональная матрица

ans =

[ -3, 0, 0]

[ 0, 1, 0]

[ 0, 0, 5]

[v,d]=eig(A);

d

d =

-3 0 0

0 1 0

0 0 5

Отчет к заданию 2.1

Определить, является ли положительно определённой квадратичная форма

A=[1 1 2;1 -2 1;2 1 1];

t=0;

for i=1:3

if(det(A(1:i,1:i))<=0)

t=1;

break;

end

end

if(t==0)

'Положительно определенная'

else

'Нет'

end

ans =

Нет

Отчет к заданию 2.2

Методом Лагранжа привести форму к каноническому виду:

A=[0 1/2 -3/2;1/2 0 1;-3/2 1 0];

syms x1 x2 x3 y1 y2 y3 z1 z2 z3

X=[x1;x2;x3];Y=[y1;y2;y3];

f=simplify(X.'*A*X);

XY=[y1+y2;y1-y2;y3];

Q1=[1 1 0;1 -1 0;0 0 1];

f=simplify(XY.'*A*XY);

A=[1 0 -1/2;0 -1 -5/2;-1/2 -5/2 0];

t1=A(1,1)*y1+A(1,2)*y2+A(1,3)*y3;

k1=t1^2/A(1,1);

f2=simplify(f-k1);

A=[-1 -5/2;-5/2 -1/4];

t2=A(1,1)*y2+A(1,2)*y3;

k2=t2^2/A(1,1);

k3=simplify(f2-k2);

f=k1+k2+k3

f =

(y1-1/2*y3)^2-(-y2-5/2*y3)^2+6*y3^2

z1=y1-1/2*y3;z2=-y2-5/2*y3;z3=y3;

syms z1 z2 z3;

f=z1^2-z2^2+6*z3^2

f =

z1^2-z2^2+6*z3^2

Q2=inv([1 0 -1/2;0 -1 -5/2;0 0 1]);

XZ=subs(Q1*Y,[y1,y2,y3],[z1+1/2*z2,-z2-2.5*z3,z3])

XZ =

z1-1/2*z2-5/2*z3

z1+3/2*z2+5/2*z3

z3

Соседние файлы в папке Модуль 4