- •Государственный
- •1. Обзор систем компьютерной математики
- •Контрольные вопросы?
- •2. Matlab. Основы работы
- •2.1. Графический интерфейс пользователя и простейшие вычисления
- •1.1. Командное окно пакета matlab
- •2.3. Рабочее пространство пакета matlab
- •2.3. Формат представления вещественных чисел
- •1.4. Комплексные числа
- •5. Векторы и матрицы
- •Глава 2
- •2.2. Компьютерные технологии решения задач управления
- •2.2.1. Задачи управления
- •Функции matlab для создания передаточных функций звеньев системы
- •Функции pole() и zero()
- •Функция conv()
- •1.2.5. Функция polyval ()
- •1.3. Операции с передаточными функциями звеньев
- •1.3.1. Сложение передаточных функций
- •Функция pz map ()
- •1.3.3. Функция series ()
- •Функция parallel ()
- •1.3.5. Функция feedback ()
- •Часть 3
- •3.1. Комплексные числа
- •3.1.1. Понятие комплексного числа[1]
- •3.1.2.Алгебраическая форма комплексного числа. Сложение, вычитание, умножение и деление комплексных чисел
- •Сложение комплексных чисел
- •Вычитание комплексных чисел
- •Умножение комплексных чисел
- •Деление комплексных чисел
- •Тригонометрическая и показательная форма комплексного числа
- •Возведение комплексных чисел в степень
- •Извлечение корней из комплексных чисел. Квадратное уравнение с комплексными корнями
- •Как извлечь корень из произвольного комплексного числа?
- •3.2. Операции с числами
- •3.2.1. Ввод действительных чисел
- •3.2.3. Ввод комплексных чисел
- •3.2.4. Элементарные математические функции
- •3.2.5. Элементарные действия с комплексными числами
- •3.2.6. Функции комплексного аргумента
- •4. Алгебра вектор и матриц
- •4.1. Создание векторов и матриц
- •Преобразование матриц
- •Вызов на экран и замена элементов матрицы
- •4.2.2. Изменение размера вектора или матрицы
- •Математические операции с векторами и матрицами
- •Транспортирование матрицы
- •След матрицы
- •Обратная матрица
- •Единичная матрица
- •Образование матрицы с единичными элементами
- •Образование матрицы с нулевыми элементами
- •Вектор равностоящих точек
- •Перестановка элементов матрицы
- •Создание матриц с заданной диагональю
- •Создание массивов со случайными элементами
- •Поворот матрицы
- •Выделение треугольных частей матрицы
- •Вычисление математического квадрата
- •Математические операции над векторами и матрицами
- •Примеры образования функций от вектора и матриц
- •Библиографический список
3.2.6. Функции комплексного аргумента
Практически все элементарные математические функции, вычисляются при комплексных значениях аргумента и получают в результате этого комплексные значения результата.
Благодаря этому, например, функция sqrt вычисляет, в отличие от других языков программирования, квадратный корень из отрицательного аргумента, а функция abs при комплексном значении аргумента вычисляет модуль комплексного числа. Примеры приведены на рис. 1.7.
Рис. 3.7. Комплексные числа от элементарных функций
В MatLAB есть несколько дополнительных функций, рассчитанных только на комплексный аргумент:
real(Z) – выделяет действительную часть комплексного аргумента Z;
imag(Z) – выделяет мнимую часть комплексного аргумента;
angle (Z) – вычисляет значение аргумента комплексного числа Z (в радианах в диапазоне от -π до +π );
conj(Z) – выдает число, комплексно сопряженное относительно Z.
Примеры приведены на рис. 8.
Рис. 3.8.Комплексные числа от дополнительных функций
Кроме того, в MatLAB есть специальная функция cplxpair(V), которая осуществляет сортировку заданного вектора V с комплексными элементами таким образом, что комплексно-сопряженные пары этих элементов располагаются в векторе-результате в порядке возрастания их действительных частей, при этом элемент с отрицательной мнимой частью всегда располагается первым. Действительные элементы завершают комплексно-сопряженные пары. Например (в дальнейшем в примерах команды, которые набираются с клавиатуры, будут написаны жирным шрифтом, а результат их выполнения – обычным шрифтом):
>> v = [-1, -1+2i, -5,4, 5i, -1-2i, -5i]
v =
Columns 1 through 6
-1.0000 -1.0000 + 2.0000i -5.0000 4.0000 0 + 5.0000i -1.0000 - 2.0000i
Column 7
0 - 5.0000i
>> disp(cplxpair(v))
Columns 1 through 6
-1.0000 - 2.0000i -1.0000 + 2.0000i 0 - 5.0000i 0 + 5.0000i -5.0000 -1.0000
Column 7
4.0000
Приспособленность большинства функций MatLAB к оперированию с комплексными числами позволяет значительно проще строить вычисления с действительными числами, результат которых является комплексным, например, находить комплексные корни квадратных уравнений.
Задание Проведите вычисления по заданной формуле при заданных значениях параметров. Укажите необходимую последовательность действий.
Сравните полученный результат с приведенным ответом.
Указание. В системе MatLAB несколько последних команд запоминаются.
Повторный вызов этих команд в командное окно осуществляется нажатием клавиш < > и <↑ >. Используйте эту возможность для повторного обращения к набранной функции.
4. Алгебра вектор и матриц
4.1. Создание векторов и матриц
Вектор или матрица состоят из имени и элементов, заключенные в квадратные скобки. Элементы вектора отделяются запятыми или пробелами. Элементами вектора могут быть числа положительные и отрицательные, действительные и комплексные.
Пример 1
>> [-5,-3,1,5,7]
ans =
-5 -3 1 5 7
>> v=[5 2+5i 5-4i 5]
v =
5.0000 2.0000 + 5.0000i 5.0000 - 4.0000i 5.0000
Для вывода вектора на экран нажмите клавишу "Enter". Откликом будут элементы вектора без квадратных скобок, отделенные друг от друга пробелами. Для этого примера они будут иметь вид:
V = 3.0000 2.0000 + 3.0000i 1.0000 - 2.0000i -5.0000
Элементами матрицы, так же как вектора, могут быть положительные и отрицательные, действительные и комплексные. В строках матрицы они отделяются запятыми или пробелами, строки отделяются точкой с запятой (;).
Пример 2
>> M = [4 1 6; 1 -5 3; -4 2 5]
После нажатия клавиши <Enter> на экране появится следующая матрица:
M =
4 1 6
1 -5 3
-4 2 5
>> M = [7-2i,1+i,12;1,2,7;i,2,-i]
А теперь матрица выглядит так:
M =
7.0000 - 2.0000i 1.0000 + 1.0000i 12.0000
1.0000 2.0000 7.0000
0 + 1.0000i 2.0000 1.0000i
Если элементы вектора или матрицы являются числами, отличающимися друг от друга на постоянный шаг, то вектор или матрицу можно образовать проще.
Пример 3
>>V = [1:4]
V = 1 2 3 4
>> M=[1:3;2:4;7:9]
M =
1 2 3
2 3 4
7 8 9
Здесь решение получено для случая постоянного шага, равного 1.
При постоянном шаге, отличном от единицы, процедуры образования вектора и матрицы и отклики имеют вид:
>> V=[1:0.2:2]
V =
1.0000 1.2000 1.4000 1.6000 1.8000 2.0000
>> M=[1:0.2:1.8;2:0.4:3.6;1:5]
M =
1.0000 1.2000 1.4000 1.6000 1.8000
2.0000 2.4000 2.8000 3.2000 3.6000
1.0000 2.0000 3.0000 4.0000 5.0000