Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_Мат_Ч1.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.13 Mб
Скачать

Манипуляции с матрицами

tril (A) – формирует треугольную матрицу как нижнюю часть от матрицы A;

triu(A) – формирует треугольную матрицу как верхнюю часть от матрицы А.

» A=[1 2 3; 4 5 6; 7 8 9];

» tril(A)

ans =

1 0 0

4 5 0

7 8 9

» triu(A)

ans =

1 2 3

0 5 6

0 0 9

lu(A) – разложение Холецкого – заменяет квадратную матрицу A скалярным произведением двух треугольных матриц L и U методом Гаусса:

» A=[1 2 3; 4 5 6; 7 8 9];

» [L,U]=lu(A)

L =

0.1429 1.0000 0

0.5714 0.5000 1.0000

1.0000 0 0

U =

7.0000 8.0000 9.0000

0 0.8571 1.7143

0 0 0.0000

» L*U

ans =

1 2 3

4 5 6

7 8 9

Эта функция является ключевой для решения матричного уравнения Ax=b в виде x=A\b, а также для обращения матрицы и вычисления ее определителя.

inv(A) – возвращает матрицу A-1, обратную заданной квадратной матрице A;

det(A) – возвращает определитель квадратной матрицы A.

fliplr(A) – поворот матрицы A на 180 в горизонтальном направлении;

flipud(A) – поворот матрицы A на 180 в вертикальном направлении;

rot90(A) – поворот матрицы A на 90 против часовой стрелки;

rot90(A, k) – поворот матрицы A на k*90 против часовой стрелки (k – целое число);

reshape(A, p, q) – перегруппировка матрицы A по столбцам в матрицу размерностью pq (если матрица А имеет размерность mn, то p*q=m*n).

» A=[1 2 3; 4 5 6]

A =

1 2 3

4 5 6

» fliplr(A)

ans =

3 2 1

6 5 4

» flipud(A)

ans =

4 5 6

1 2 3

» rot90(A)

ans =

3 6

2 5

1 4

» rot90(A,3)

ans =

4 1

5 2

6 3

» reshape(A,3,2)

ans =

1 5

4 3

2 6

Манипуляции с векторами

cross(x, y) – векторное произведение векторов x и y в трехмерном пространстве;

cross(A, B, dim) – векторное произведение многомерных массивов A и B по размерности dim;

dot(x, y) – скалярное произведение векторов x и y;

dot(A, B, dim) – скал. произведение многомерных массивов A и B по размерности dim.

Длины векторов x и y, а также длина матриц A и B по размерности dim должны быть равны 3.

Базовые операции анализа

Пусть a,b,c – числа, х,у,z – векторы, А,В,C – матрицы.

c=max(a, b) – возвращает максимальное из двух чисел a и b (при комплексных аргументах по умолчанию сравниваются модули):

z=max(x, y) – вектор той же размерности, что x и y, составленный из максимальных элементов векторов;

C=max(A, B) – матрица той же размерности, что и , составленная из максимальных элементов матриц.

xmax=max(x) – максимальный элемент вектора x;

[xmax, imax]=max(x) – дополнительно записывает адрес максимального элемента в числовую переменную imax (если максимальных элементов несколько, возвращается адрес первого из них);

amax=max(A) – возвращает вектор-строку amax из максимальных элементов столбцов матрицы А;

[amax, imax]=max(A) – дополнительно формируется вектор-строка imax, составленный из номеров строк, в которых расположены максимальные элементы столбцов.

» a=1; b=2; x=[1 3 2]; y=[2 1 3]; A=[1 2 3; 4 5 6]; B=[3 2 1; 6 5 4];

» c=max(a,b)

c =

2

» z=max(x,y)

z =

2 3 3

» C=max(A,B)

C =

3 2 3

6 5 6

» xmax=max(x)

xmax =

3

» [xmax imax]=max(x)

xmax =

3

imax =

2

» amax=max(A)

amax =

4 5 6

» [amax imax]=max(A)

amax =

4 5 6

imax =

2 2 2

Работа с функцией min полностью аналогична.

xm=mean(x) – возвращает среднее арифметическое элементов вектора х;

Am=mean(A) – возвращает вектор-строку Am, составленный из средних арифметических элементов столбцов;

» xm=mean(x)

xm =

2

» Am=mean(A)

Am =

2.5000 3.5000 4.5000

xs=sum(x) – возвращает сумму элементов вектора х;

As=sum(A) – возвращает вектор-строку As, составленный из сумм элементов каждого столбца;

Ads=trace(A) – то же, что sum(diag(A)) – возвращает сумму элементов, расположенных на главной диагонали;

xp=prod(x) – возвращает произведение элементов вектора х;

prod(A) – возвращает вектор-строку Ар, составленный из произведений элементов каждого столбца;

cumsum(x) – кумулятивная сумма (сумма с накоплением) элементов вектора x;

cumprod(х) – кумулятивное произведение (с накоплением) элементов вектора х;

cumsum(A) – кумулятивная сумма элементов матрицы А;

cumprod(A) – кумулятивное произведение элементов матрицы А по столбцам.

» cumsum(x)

ans =

1 4 6

» cumprod(x)

ans =

1 3 6

» cumsum(A)

ans =

1 2 3

5 7 9

» cumprod(A)

ans =

1 2 3

4 10 18

norm(x) – возвращает норму вектора х, равную ;

norm(x, p) – возвращает р-норму вектора х, равную ;

norm(x, Inf) – то же, что max(abs(x)) norm(x,-Inf) – то же, что min(abs(x))

xs=sort(x) – сортировка вектора x по возрастанию;

[xs is]=sort(x) – дополнительно возвращает адреса элементов в исходном массиве х в порядке возрастания элементов;

xsd=fliplr(sort(x)) – сортировка вектора х по убыванию;

y=diff(x) – вычисляет конечные разности:

если , то

у1 y2 уn-1

z=diff(x,k) – вычисляет k-ю конечную разность:

z=diff(x,2)

rank(A) – возвращает ранг матрицы – количество линейно независимых строк (столбцов).