- •Лабораторная работа №1 Основные операции и функции языка matlab
- •Рекомендации к выполнению лабораторной работы №1.
- •Сохранение результатов. Работа с редактором отладчиком.
- •Контрольные вопросы
- •Лабораторная работа №2 Массивы и матрицы в языке Matlab.
- •Контрольные вопросы
- •Лабораторная работа №3 Средства графической визуализации matlab
- •Контрольные вопросы
- •Лабораторная работа №4 Программирование в matlab
- •Лабораторная работа № 5 Применение пакета matlab для исследования объектов управления. Использование пакета Control.
- •Описание объектов управления Описание объектов управления при помощи передаточных функций.
- •Описание объектов управления при помощи нолей полей и коэффициентов.
- •Описание объектов управления при помощи моделей в пространстве состояния.
- •Действия с объектами класса Control. Преобразование объектов из одной формы представления в другую.
- •Конструирование систем
- •Анализ систем
- •Задание на лабораторную работу № 5
Контрольные вопросы
Назначение системы Matlab.
В каких режимах можно работать с Matlab.
Что такое рабочее пространство?
Какие функции выполняет командное окно?
Что представляет собой переменная в системе Matlab?
Каким образом производится ввод матриц в системе Matlab?
При помощи, каких команд производится транспонирование и вычисление обратной матрицы?
Каким образом осуществляется поэлементное умножение матриц, и чем оно отличается от матричного произведения?
Каким образом можно произвести сохранение результатов вычислений?
Как сохранить историю сессии командного окна?
Лабораторная работа №2 Массивы и матрицы в языке Matlab.
Цель работы: Изучить матричные операции. Освоить способы решения матричных уравнений в языке Matlab.
Методические указания по выполнению лабораторной работы № 2.
Операции с векторами и матрицами. Скалярное произведение векторов
Пусть заданы два вектора a и b, причем их координаты заданы в виде алгебраических векторов:
,
то их скалярное произведение можно вычислить при помощи следующей последовательности команд:
>> a=[1;2;3]
a =
1
2
3
>> b=[4;5;6]
b =
4
5
6
>> c=sum(a.*b)
c =
32
а модуль вектора можно найти при помощи следующей команды:
>> d=sqrt(sum(a.^2))
d =
3.7417
Векторное произведение векторов
Для вычисления векторного произведения, в пакете Matlab специально предусмотрена функция cross:
>> a=[1;2;3]
a =
1
2
3
>> b=[4;5;6]
b =
4
5
6
>> c=cross(a,b)
c =
-3
6
-3
Операции с матрицами
Транспонирование матрицы производится при помощи символа «’», который ставится после матрицы. Например:
>> a=[1;2;3]
a =
1
2
3
>> c=a'
c =
1 2 3
Вычисление определителя производится при помощи команды det.
>> a=[1 2 3; 4 4 5; 7 7 10]
a =
1 2 3
4 4 5
7 7 10
>> d=det(a)
d =
-5
Для вычисления обратной матрицы используется команда inv или применяется возведение в степень -1 (^-1).
>> a=[1 2 3; 4 4 5; 7 7 10]
a =
1 2 3
4 4 5
7 7 10
>> a1=inv(a)
a1 =
-1.0000 -0.2000 0.4000
1.0000 2.2000 -1.4000
0 -1.4000 0.8000
>> a2=a^-1
a2 =
-1.0000 -0.2000 0.4000
1.0000 2.2000 -1.4000
0 -1.4000 0.8000
Для определения ранга матрицы используется команда rank. Например:
>> rank(a)
ans =
3
Обращение к элементам матриц можно осуществлять при помощи номера строки и столбца элемента:
>> a=[1 2 3; 4 4 5; 7 7 10]
a =
1 2 3
4 4 5
7 7 10
>> c=a(2,3)
c =
5
аналогичным образом можно изменять значения элементов матриц.
Решение систем линейных уравнений матричным методом
Специально для решения систем линейных уравнений в пакете Matlab предусмотрено обратное деление (\).
Пусть задана система линейных уравнений:
В векторно-матричном виде данное уравнение примет вид
где
,
матрица коэффициентов и вектор столбец свободных членов соответственно, тогда вычисление корней можно произвести следующим образом:
>> a=[1 2 3; 4 4 5; 7 7 10]
a =
1 2 3
4 4 5
7 7 10
>> b=[7; 5; 9]
b =
7
5
9
>> x=a\b
x =
-4.4000
5.4000
0.2000
Получившийся результат можно проверить, умножив вектор корней х на матрицу коэффициентов а.
Матрицы специального вида
В ряде случаев возникает необходимость в создании матрицы заполненной нолями или единицами, а также создавать диагональные или единичные матрицы, специально для этого предусмотрен набор команд для создания матриц специального вида.
Создание матрицы заполненной нолями и единицами производится при помощи команд zeros и ones соответственно, после чего в круглых скобках указывается количество строк и столбцов матрицы. В случае если указывается только количество строк, то создается квадратная матрица.
Например:
>> a=zeros(3,6)
a =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
>> b=ones(3)
b =
1 1 1
1 1 1
1 1 1
Единичная матрица создается при помощи команды eye:
>> I=eye(3)
I =
1 0 0
0 1 0
0 0 1
Для создания диагональная матрицы используется команда diag:
>> v=diag([1 2 3])
v =
1 0 0
0 2 0
0 0 3
Для получения дополнительной информации по элементарным операциям с матрицами достаточно в командном окне ввести команду «help elmat».
Задание на лабораторную работу №2
В соответствии с приведенными выше рекомендациями и вариантом задания необходимо при помощи системы Matlab произвести следующие вычисления:
Произвести решение системы линейных уравнений матричным методом;
Произвести решение системы линейных уравнений методом определителей;
Вычислить скалярное и векторное произведение векторов.
Отчет по лабораторной работе должен содержать: введенные команды и полученные при этом результаты вычислени.
Варианты заданий:
Варианты систем линейных уравнений находятся в таблице 3, а варианты векторов в таблице 4.
Таблица 3
№ |
Система уравнений |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
Таблица 4
№ |
Векторы |
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 |
|
29 |
|
30 |
|
