Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Задание 2: (действия с матрицами)



 

 

% Создание матриц производится так же как и создание векторов, при этом

% используется знак (;) , чтобы отделить вводимые строки матрицы.

Введите матрицу размерности (3,3):

 

A = [1 2 0; 2 5 -1; 4 10 -1] % Введите свои значения. Не ставьте блокировку (;),

% чтобы следить за результатами.

 

Транспонируйте матрицу 'A' :

 

B = A'

 

Выполните умножение

 

C = A * B

 

Возведите квадратную матрицу в 5 степень:

 

F=A^5

 

Найдите обратную матрицу:

 

X = inv(A)

 

Вычислите матрицу

 

I =A*inv(A) % ясно, что должна получиться единичная матрица

 

Вычислите определитель матрицы:

 

D=det(A)

 

Найдите собственные значения матрицы:

 

eig(A)

 

% Функция "poly" генерирует вектор, элементами которого являются

% коэффициенты характеристического многочлена матрицы:

% det(lambda*I - A)

 

p = round(poly(A))

 

% Функция “round” округляет до ближайшего целого

% Корни многочлена p – характеристические значения исходной матрицы

% Таким образом, мы можем найти собственные значения матрицы оператором

 

roots(p) % Выполните вычисления этим способом

 

% В любой момент мы можем получить список значений переменных, хранящихся в памяти

% используя команды "who" или "whos".

 

Выполните:

 

who

whos

 

% Вы можете получить на экране значение любой переменной, набрав в командной строке имя переменной и нажав вслед за тем ENTER.

 

Выполните:

 

A % ENTER

 

X % ENTER

 

p % ENTER

 

F % ENTER

 

ПОЭЛЕМЕНТНОЕ ВЫПОЛНЕНИЕ АРИФМЕТИЧЕСКИХ ОПЕРАЦИЙ

 

Арифметические операции умножения, деления и возведения в степень имеют своих двойников с поэлементным выполнением. Поясним: пусть

x=[1 2 3 4] и y=[5 6 7 8].

Предположим, что вам хотелось бы перемножить (поделить, возвести в степень) элементы векторов x и y.

Если мы напишем x*y или x/y или x^3, то получим сообщение об ошибке, так как строки нельзя перемножить, разделить друг на друга по правилам матричной алгебры (несоответствие размерностей). Однако для получения желаемого результата в MATLAB есть дубли арифметических операций. Они имеют те же значки, что и основные операции, но с точкой перед знаком операции.

Выполните в командном окне:

x.*y % Результат – вектор, элементы которого равны произведениям соответствующих элементов векторов x и y

x./y % Элементы x будут поделены на соответствующие элементы y

x.^3 % Элементы вектора x будут возведены в 3-ю степень.

 

MATLAB работает с комплексными числами и бесконечными величинами.

ВЫПОЛНИТЕ:

 

sqrt(-1)

 

log(0)

 

ГЕНЕРАЦИЯ СПЕЦИАЛЬНЫХ МАТРИЦ:

 

Для создания специальных матриц существуют функции:

 

zeros – создание матрицы с нулевыми элементами,

ones - создание матрицы с единичными элементами,

rand – создание матрицы со случайными элементами (равномерно на [0,1] распределенными случайными числами),

eye – создание единичной матрицы

 

Выполните операции:

 

A = zeros(3,2)

AA = zeros(5)

B = ones(1,10)

BB = ones(3)

C=rand(2,5)

CC=rand(7)

E=eye(5)

 

ОПЕРАТОРЫ СЛИЯНИЯ МАТРИЦ

 

Выполните операторы

A=ones(2,3)

V=ones(1,3)

A=[A;V] % матрица A получит дополнительную строку из элементов вектора V

B=rand(2,2)

C=rand(3,3)

G=cat(1,A,C) % Объединение матриц A и C вдоль размерности 1 (по вертикали)

GG=cat(2,A,C) % Объединение матриц вдоль размерности 2 (по горизонтали)

 

ОПЕРАТОРЫ ВЫРЕЗКИ ДЛЯ МАТРИЦ

 

Выполните операторы, наблюдайте за результатами

 

A=[1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20]

B=A(1,:) % Взятие первой строки исходной матрицы

C=A(:,4) % Взятие четвертого столбца исходной матрицы

D=A(3:4,1:2) % Выделение (вырезка) строк 3 – 4 , столбцов 1 – 2

G=A(2:3,3:4) % Выделение (вырезка) строк 2 – 3 , столбцов 3 – 4

E=A(:) % Создание единого массива (столбца) из элементов матрицы A.

 

МЕТОД ГАУССА

 

В заключение, решите систему 5-и линейных алгебраических уравнений с 5 неизвестными методом Гаусса.

Введите матрицу системы

 

A=rand(5,5) % здесь коэффициенты системы – случайные числа. Введите свои

% конкретные значения

B=rand(5,1) % вектор-столбец – правая часть системы уравнений, которая в

% матричной форме может быть записана как A*X=B, где X –

% столбец неизвестых. Решение системы, как известно,

% X=A^(-1)*B, где A^(-1) – обратная матрица для матрицы A

 

РЕШЕНИЕ СИСТЕМЫ:

 

X=A\B % Оператор выполняется как inv(A)*B, что и требуется для решения

% системы. Отметим, что в действительности этот оператор

% выполняется путем реализации метода Гаусса для решения исходной

% системы линейных алгебраических уравнений.

 

Таким образом, для того, чтобы решить систему линейных алгебраических уравнений методом Гаусса в MATLAB, достаточно выполнить всего один оператор – оператор деления (справа – налево) правой части системы на матрицу системы уравнений.

 

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.