Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОБРОБКА ІНФОРМАЦІЇ ЗАСОБАМИ КОМП’ЮТЕРНОЇ МАТЕМА...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.08 Mб
Скачать

1.3.11 Огляд матричних функцій

MATLAB має найбільше число матричних функцій. Так, для створення векторів і матриць використовуються функції:

• еуе(n) – одинична матриця розмірністю nn;

• ones(n) – матриця з одиничними елементами;

• zeros(n) – матриця з нульовими елементами;

• rand(n) – матриця з випадковими елементами;

• hadamar(n) – матриця Адамара;

• hilb(n) – матриця Гільберта;

• magic(N) – магічна матриця;

• pascal(n) – матриця Паскаля;

• toeplitz(n) – матриця Теплиця;

• wilkinson(n) – матриця Уілкінсона й ін.

Для одиночної квадратної матриці А існує ряд функцій:

• diag(A) – головна діагональ матриці;

• fliplr(A) – матриця з переставленими щодо вертикальної осі елементами;

• flipud(A) – матриця з переставленими щодо горизонтальної осі елементами;

• prod(A) – вектор добутків елементів кожного стовпця;

• sum(A) – вектор сум елементів кожного стовпця;

• rot90(A) – поворот матриці на 90°;

• tril(A) – нижня трикутна частина матриці;

• triu(A) – верхня трикутна частина матриці й ін.

Є ряд матричних функцій лінійної алгебри:

• cond(A) – число обумовленості основане на другій нормі;

• condeig(A) – вектор чисел обумовленості для власних значень матриці

• det(A) – детермінант (визначник) матриці;

• rank(A) – ранг матриці;

• norm(A) – найбільше сингулярне значення;

• orth(A) – ортонормальний базис матриці;

• null (А) – ортонормальний базис для нульового простору;

• rref (А) – трикутна форма (приведення за методом виключення Гаусса з частковим вибором ведучого елементу);

• trace(A) – слід матриці;

• chol(А) – верхня трикутна матриця, отримана за методом розкладання Холецького;

• inv(A) – обернена матриця (А1);

• lu(A) – LU-розкладання матриці;

• qr(A) – QR-розкладання матриці;

• eig(A) – вектор власних значень матриці;

• hess(A) – верхня форма Хессенберга;

• schur(A) – матриця Шура і т.д.

Більшість елементарних і спеціальних функцій можуть мати аргументи у вигляді вектора чи матриці і обчислюють перетворені вектор чи матрицю. У MATLAB є можливість вести обробку розріджених матриць і багатовимірних масивів, у тому числі з різнотипними даними – записами. Приведені функції мають більш складні варіанти, зокрема, що допускають задання матриць довільної розмірності mn при нерівних m і n.

Наступний приклад дає рішення системи з чотирьох лінійних рівнянь А·Х=У трьома точними методами:

A=[2 1 0 1;

1 –3 2 4;

–5 0 –1 –7;

1 –6 2 6];

B=[8 9 –5 0];

X1=B/a

X2=B*A^–1

X3=B*inv(A)

X1=

3.0000 -4.0000 -1.0000 1.0000

Х2 =

3.0000 -4.0000 -1.0000 1.0000

хз =

3.0000 -4.0000 -1.0000 1.0000

Функція nnls(A, У) і ряд її варіантів вирішують систему лінійних рівнянь з мінімізацією помилки за методом найменших квадратів (див. приклад нижче):

» C=[4 3; 12 5; 3 12]; Ь=[1, 45, 41]; D=nnls(C, b)

D =

2.2242

2.6954

Для рішення систем лінійних рівнянь з розрідженими матрицями MATLAB пропонує ряд функцій, що реалізують різні методи рішення:

• bicg(А, У) – двоспрямований метод спряжених градієнтів;

• bicgstab(A, У) – стійкий двоспрямований метод;

• cgs(А, У) – квадратичний метод спряжених градієнтів;

• gmres(A, У, restart) – метод мінімізації узагальненої нев'язки;

• pcg (А, У) – метод спряжених градієнтів;

• qmr(A, У) – метод квазімінімізації нев'язки (відхилу).