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

ВЕКТОРЫ И МАТРИЦЫ

Вектор

С упорядоченной последовательностью действительных

 

 

чисел a1,a2,a3,…,an-1,an можно связать понятие связанного

a a

вектора в n-мерном пространстве и обозначить как:

 

или понятие точки A(a1,a2,a3,…,an).

Числа a1,a2,a3,…,an называются элементами(проекциями) вектора

a1a2

..

an

aили

координатами точки A, а количество элементов в векторе называется размерностью этого вектора. Положение элемента ai определяется индексом i,

где i = 1,2,· ··,n. Элементы вектора записываются в виде столбца.

1

Типы векторов

Нулевой – вектор, все компоненты которого равны

 

0

a=[0;0;0];

0

нулю и обозначается как:

a

a= zeros(3,1);

 

 

 

 

0

 

Единичный – вектор, длина которого

a 0.6 ;

 

0.62 0.82

1 a= [0.6; 0.8];

 

 

 

 

 

 

 

 

 

 

 

 

равна единице:

0.8

 

 

 

 

 

 

 

 

 

 

 

 

a1

 

 

 

 

 

 

 

 

Транспонированный -

вектор, который

 

 

 

aT a

 

a

 

a

 

 

at= a’;

 

a

a

2

1

2

3

 

представлен строкой.

 

 

 

 

 

 

 

 

 

 

 

 

an

 

 

 

 

 

 

 

 

 

2

Матрица

Совокупность чисел расположенных в прямоугольной таблице, состоящей из n строк и m столбцов, называется матрицей и обозначается как:

 

a11

a12

a13

 

a1m

 

 

 

a22

a23

a2m

 

A A a21

 

 

 

 

 

 

 

 

 

an2

 

 

 

 

 

an1

an3 anm

Положение элемента aij в матрице определяется двумя индексами (i и j), где i определяет номер строки , а j – номер столбца .

3

 

Типы матриц

 

Матрица, состоящая из одной строки

A=[1 2 3]; или A=[1:3]

называется вектор строка n=1

С =[1 3 5 7 9]; или C=[1:2:9];

Матрица, состоящая из одного столбца

A=[1;2;3];

называется вектор столбец m=1

 

Если n равно m матрица называется квадратной

A=[1 2 3;4 3 2;0 1 3];

Верхне треугольная

aij=0 при i>j

A=[1 2 3;0 2 3;0 0 4];

Нижне треугольная

aij=0 при i<j

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

Диагональная

aij 0 при i j

A=[3 0 0;0 2 0; 0 0 5];

Единичная

1 при i j

E=[1 0 0;0 1 0;0 0 1];

eij

E=eye(3);

 

0 при i j

Транспонированная

матрица в которой строки заменены AT=A’; на соответствующие столбцы

atj,i ai, j ,

где i 1,2,3,...,n; j 1,2,3,...,m

 

 

 

 

 

 

Равенство матриц

A

B

т.е. aij= bij где i=1,2,3,…,n

j=1,2,3,…,m 4

Характеристики и операции

Норма (длина) вектора

 

 

 

 

n

a

ai2

 

 

i 1

Пример.

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

22 32 3.61

a

 

 

 

 

a

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

Начало

n, a

s:=0

i:=1 шаг 1 до n

s : s ai2

s : s

s

nor=sqrt(sum(a.^2));

nor=norm(a);

Конец

5

 

файл сценария

clc n=input('n='); a=inpVec(n,’a’); disp(nVec(n,a));

Файл функция

Файл функция

function vec=inpVec(n,nameVec);

function nor=nVec(n,a);

for i=1:n

s=0;

vec(i,1)=input(sprintf('%s(%g)=',nameVec,i));

for i=1:n

end

s=s+a(i)^2;

 

end

 

nor=sqrt(s);

6

Норма матрицы (Эвклидова).

файл сценария

clc n=input('n='); m=input(‘m=‘);

A= inpMatr(n,m,’A’); Nor_A=nMatr(n,m,A); disp(Nor_A); disp(norm(A,'fro'));

Файл функция

 

 

 

 

n m

A

ai,2 j

 

 

i 1 j 1

Nor_A=sqrt(sum(A.^2));

Nor_A=norm(A,’fro’);

Файл функция

function nor=nMatr(n,m,A); s=0;

for i=1:n for j=1:m

s=s+A(i,j)^2; end

end nor=sqrt(s);

function matr=inpMatr(n,m,nameMatr); for i=1:n

for j=1:m matr(i,j)=input(sprintf('%s(%g,%g)=',nameMatr,i,j));

end end

7

Сложение и вычитание векторов.

Складывать или вычитать можно только вектора с одинаковой размерностью.

 

 

 

 

 

c

a

b

ci ai bi , i 1,2,3,..,n

c=a+b;

файл сценария

clc n=input('n='); a=inpVec(n,'a'); b=inpVec(n,'b');

c=addVec(n,a,b); disp(' c'); disp(c)

Файл функция

function vec=addVec(n,a,b); for i=1:n

vec(i)=a(i)+b(i); end

Сложение и вычитание матриц.

Складывать

или вычитать

можно только матрицы

с одинаковой

 

 

 

 

 

 

 

размерностью.

 

 

 

C

A B;

cij aij bij, i 1,2,3,...,n;

j 1,2,3,...,m

C=A+B;

 

 

 

файл сценария

 

 

 

 

 

n=input('n=');

 

 

 

 

 

m=input('n=');

 

 

 

 

 

A= inpMatr(n,m,’A’);

 

 

 

 

 

B= inpMatr(n,m,’B’);

 

 

 

 

 

C= addMatr(n,m,A,B);

 

 

 

 

disp(‘

C’); disp(C);

 

Файл функция

function matr=addMatr(n,m,A,B); for i=1:n

for j=1,m matr(i,j)=A(i,j)+B(i,j)

end

end

9

 

Умножение вектора на константу.

 

 

 

 

 

 

 

 

 

 

 

 

c a

ci ai

, i 1,2,3,...,n

 

c=λ*b;

 

 

 

 

Умножение матрицы на константу.

 

 

 

 

 

 

 

 

 

 

C A; ci, j ai, j

i 1,2,3,...,n; j 1,2,3,...,m

C= λ *B;

 

 

 

 

 

 

 

Скалярное произведение векторов

 

Это значение суммы произведений соответствующих компонент двух

 

 

 

 

n

 

 

 

 

 

 

 

векторов.

 

 

 

 

 

 

 

i 1,2,3,..., n

 

 

z ( a , b) aT b ai bi ,

 

z=a’ * b;

 

 

 

2

i 1

 

 

4

 

4

 

 

 

 

 

 

 

 

2 4 3 5 23

 

Пример

a

 

b

 

 

z 2 3

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

5

5

 

 

Файл функция

 

 

 

 

 

 

 

function sp=scalpr(n,a,b);

 

 

z=scalpr(n,a,b);

sp=0;

 

 

 

 

 

|

 

 

for i=1:n

 

 

 

 

|

 

 

 

 

sp=sp+a(i)*b(i);

|sp=sum(a.*b);

 

end

 

 

 

 

 

 

|

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Угол между векторами.

 

 

cos( )

 

 

 

 

aT b

 

 

 

 

 

 

 

 

 

Косинус угла

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r=a’*b/(norm(a)*norm(b))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

 

b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ортогональность векторов

 

cos( ) 0 т.е. aT b 0

 

 

 

 

 

Линейная зависимость векторов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(i)

 

 

 

(i)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

Вектора a

называются линейно зависимыми, если соотношение

i a

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

справедливо, хотя бы при одном множителе

i

отличным от нуля.

 

 

 

 

 

 

 

 

(1)

2

(2)

 

1

(1)

 

 

 

(2)

 

 

 

2

 

 

 

1

0

Пример:

a

 

; a

 

a

 

2

a

 

 

0

 

2

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

4

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

2

0

1 2 2 1 0

2 2 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 4 2 2 0

1 4 1 4 0 1 0 0 при любом 1

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

Cnm Ank Bkm

 

C

A B

B A

 

 

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

Aдолжно равняться количеству строк матрицы

B

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

A

Элемент

вычисляется как скалярное произведение i-й строки матрицы

 

 

ij

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и j-го столбца матрицы

B

 

 

 

 

 

 

 

k

 

 

 

 

 

 

 

 

cij ail blj

 

 

C=A*B;

 

 

 

 

 

l 1

 

 

 

 

Файл функция

 

 

 

 

 

function RM=multMatr(n,k,m,A,B);

 

 

 

 

for i=1:n

 

 

 

 

 

 

 

for j=1:m

 

 

|

 

C=multMatr(n,k,m,A,B);

 

s=0;

 

 

 

 

for ℓ=1:k

|

 

 

 

 

 

s=s +A(i,ℓ) *B(ℓ,j);

|RM(i,j)=A(i,:)*B(:,j);

 

 

 

 

end

 

 

|

 

 

 

 

 

RM(i,j)=s;

|

 

 

 

 

end

 

 

Умножение матриц.

 

 

 

 

 

 

 

 

 

 

end

12

 

Соседние файлы в папке Лекции по ВычМат Матлаб