- •А.К. Ефремов интегрированная
- •Рекомендовано редсоветом мгту им. Н.Э. Баумана
- •Isbn 5-7038-2301-3 мгту им. Н.Э. Баумана, 2003
- •1. Интерфейс системЫ matlab
- •1.1. Программная группа matlab
- •1.2. Командное окно matlab
- •1.2.1. Главное меню
- •1.2.2. Панель инструментов
- •1.3. Настройка параметров рабочего пространства
- •1.4. Справочная система matlab
- •2. Работа в режиме прямых вычислений
- •3. Базовые объекты системы matlab
- •3.1. Способы формирования матриц и векторов
- •3.2. Матричные операции и функции
- •3.3. Решение линейных уравнений
- •3.4. Вычисление корней полиномов
- •3.5. Обработка данных
- •4. Графические средства системы matlab
- •4.1. Графические объекты на плоскости
- •4.1.1. Функция plot
- •4.1.2. Функции fplot и ezplot
- •4.1.3. Другие графические функции
- •4.1.5. Обработка данных
- •4.2. Построение трехмерных поверхностей и тел
- •4.2.1. Основные графические функции
- •4.2.2. Дополнительные возможности
- •5. Основы программирования в среде matlab
- •5.1. Общие положения
- •5.2. Примеры простых программ
- •Xlabel('sin(X)') % Надпись по оси х
- •Xlabel('X') % Надпись по оси абсцисс
- •5.3. Программа с использованием внешней функции
- •5.4. Дополнительные программы
- •5.4.1. Дифференцирование функций
- •Xlabel('Число элементов массивов')
- •Xlabel('Число элементов массивов')
- •5.4.2. Функции eval, feval
- •Xlabel(‘t’), ylabel(‘y, dy/dt’)
- •Xlabel(‘y’), ylabel(‘dy/dt’)
- •6. Символьные вычисления
- •6.1. Определение символьной переменной
- •6.2. Основные функции
- •6.3. Математический анализ
- •6.3.1. Функция limit – предел функции одной переменной
- •6.3.2. Функция diff – дифференцирование функции одной переменной
- •6.3.3. Функция int – интегрирование функции одной переменной
- •6.3.4. Функция symsum – суммирование членов рядов
- •6.3.5. Функция taylor – разложение функции в ряд Тэйлора
- •6.4. Символьное решение уравнений
- •6.4.1. Решение отдельных уравнений
- •6.4.2. Решение систем уравнений
- •6.4.3. Решение дифференциальных уравнений
- •7. Пакет моделирования динамических систем simulink
- •7.1. Рабочая среда Simulink
- •7.2. Представление динамической системы в виде структурной схемы
- •7.3. Основные приемы работы в среде Simulink
- •7.4. Модель с ветвлением соединений
- •7. 5. Интегрирование дифференциального уравнения
- •Список литературы
- •Оглавление
- •Приложение
- •Разделы справочной системы
- •Программирования и отладки программ
- •Графические средства matlab
- •Символьные вычисления (symbolic math toolbox)
3.2. Матричные операции и функции
Матричные операции – основа системы MATLAB:
1. Сложение матриц. Если
и
-
матрицы одинаковых размеров, то их
суммой называют матрицу того же размера
,
элементы которой
.
2. Умножение матрицы на скаляр.
Произведением матрицы
на скаляр называют
матрицу
,
элементы которой
.
3. Умножение матрицы
,
имеющей размер
,
на матрицу
,
имеющую размер
,
означает нахождение третьей матрицы
размеров
,
причем элементы этой матрицы
.
Согласно определению данной операции,
это правило действует, если число
столбцов матрицы А равно числу строк
матрицы В.
Определителем квадратной матрицы порядка n называют число (в MATLAB – det(A))
,
где знак
определяется числом (четным или нечетным)
перестановок чисел
.
Способы вычисления определителей можно
найти в соответствующей литературе.
Квадратная матрица называется неособенной
или невырожденной, если ее
определитель
(в противном случае матрица особенная,
или вырожденная). Матрица
называется обратной квадратной
матрице А, если
;
обратная матрица вычисляется довольно
сложным образом:
,
где
– алгебраические дополнения элементов
матрицы.![]()
Матрица
называется транспонированной по
отношению к матрице А, если в последней
поменять местами столбцы и строки.
Транспонирование матрицы А:
» A=[1 2 3;4 5 6]
A =
1 2 3
4 5 6
» B=A'
B =
1 4
2 5
3 6
» [atan(1)*4 sin(pi/2) exp(1)]'
ans =
3.1416
1.0000
2.7183
Последний прием удобен при создании векторов-столбцов.
Сложение и вычитание матриц:
» A=[3 4 2;2 5 5]; B=[0 3 1; 3 7 8]; C=A+B, D=A-B
C =
3 7 3
5 12 13
D =
3 1 1
-1 -2 -3
Умножение матриц:
» A=[1:3;4:6], B=[7:9;10:12]', C=A*B
A =
1 2 3
4 5 6
B =
7 10
8 11
9 12
C =
50 68
122 167
Следует отметить такую важную
операцию, как
;
при этом матрица А превращается в
пустую (и освобождает память), но
сохраняется как объект; в то же время
clear('А') уничтожает матрицу А как переменную
MATLAB.
3.3. Решение линейных уравнений
Пусть задана система из трех линейных уравнений
.
Введем матрицу, составленную из коэффициентов левых частей уравнений:
.
Если рассматривать x, y и z как
элементы матрицы-столбца
,
т.е.
,
а правые части системы как матрицу-столбец
,
то можно записать матричное уравнение
.
Умножая обе части этого уравнения
на обратную матрицу
,
получим
. Это соотношение записано на
основании того, что
– единичная матрица (с единичными
элементами на главной диагонали), а
.
Команда для решения системы уравнений имеет вид
» A=[3 2 1;1 1 -1;1 -2 1]; B=[4 1 3]'; X=inv(A)*B, det(A)
X =
1.7000
-0.6000
0.1000
ans =
-10
Таким образом,
;
существование решения подтверждается
и тем, что определитель матрицы
.
Аналогичный результат получается при
«левом» делении:
» A\B
ans =
1.7000
-0.6000
0.1000
Рекомендуется сравнить вычисление определителя матрицы вручную и с помощью системы MATLAB, например
» A=[1:3;4:6;7:9]; det(A)
ans =
0
