1.5 Комплексные числа
Комплексными называются числа вида z = x+iy, где x и y – действительные числа, а i = . Числа x и y называются соответственно действительной и мнимой частями комплексного числа z. Они обозначаются x = Re z, y = Im z. Комплексные числа в системе MATLAB записываются в следующем виде:
3+2i; 7 - 4j; -3.8952+1.23e-5i; 5+i*7.
По умолчанию они имеют тип double. Для записи комплексного числа требуется в два раза больше памяти, чем для записи вещественного числа, так как по 8 байт памяти отводится для Re z и Im z. При вводе комплексных чисел мнимая единица i или j может быть записана до или после мнимой части. При записи мнимой единицы перед Im z между ними ставится знак умножения <*>. При записи мнимой единицы после Im z ставить знак умножения необязательно. Например, следующие записи эквивалентны:
1+i*2 ~ 1+j*2 ~ 1+2*i ~ 1+2*j ~ 1+2i ~ 1+2j.
Если коэффициентом при мнимой единице является не число, а переменная, нельзя писать просто x+yi, а необходимо использовать знак умножения, т. е. x+y*i.
Если в командную строку ввести i, получим:
>> i
ans =
0 + 1.0000i
Тот же результат получим при вводе символа j:
>> j
ans =
0 + 1.0000i
Кроме того, комплексное число можно представить в другом формате:
>> format long
>> 4-9j
ans =
4.00000000000000 - 9.00000000000000i
При выводе мнимая единица всегда обозначается символом i и выводится после мнимой части.
Число = x - iy называется комплексно - сопряженным числу z = x+iy. Два комплексных числа считаются равными, если равны отдельно их действительные и мнимые части. Алгебраические действия над комплесными числами выполняются по формулам:
z1 ± z2 = (x1+iy1) ± (x2+iy2) = (x1 ± x2)+i(y1 ± y2);
z1 z2 = (x1+iy1)(x2+iy2) = (x1x2 - y1y2)+i(x1y2 +x2y1);
= .
Примеры:
>> 1+2i+3-4j
ans =
4.0000 - 2.0000i
>> (1+2i)*(3-4j)
ans =
11.0000 + 2.0000i
>> (1+2i)/(3-4j)
ans =
-0.2000 + 0.4000i
>> z=(3+2i)^3
z =
-9.0000 +46.0000i
Встроенные функции real и imag выделяют вещественную и мнимую части комплексного значения:
>> real(z)
ans =
-9
>> imag(z)
ans =
46
Встроенная функция complex формирует комплексное число по паре вещественных:
>> z=complex(3,-4)
z =
3.0000 - 4.0000i
Функция conj возвращает комплексно - сопряженное число:
>> conj(z)
ans =
3.0000 + 4.0000i
Такой же результат получим, поставив апостроф после комплексного значения:
>> z=1+2*i'
z =
1.0000 - 2.0000i
>> z'
ans =
1.0000 + 2.0000i
Возникающий в процессе вычислений с вещественными переменными комплексный результат не является ошибкой. Вычислить , оставаясь в рамках только вещественных чисел, нельзя. MATLAB автоматически перейдет к комплексным вычислениям и в итоге возвратит результат равный i:
>> sqrt(-1)
ans =
0 + 1.0000i
В математике используют и другие формы представления комплексных чисел:
z = x+iy = ρeiφ = ρ(cos φ+isin φ).
Здесь ρ = │z│ = – модуль комплексного числа, а φ = arg z – фаза, или главное значение его аргумента (величина угла измеряется в радианах, π<φ≤ π), причем tg φ = .
Значения этих параметров можно определить с помощью встроенных функций ρ = abs(z) и φ = arg z = angle(z).
Основные элементарные функции комплексного переменного:
показательная функция e iz ;
тригонометрические функции
cos z = , sin z = ;
гиперболические функции
ch z = , sh z = ;
главное значение логарифма
ln z = ln│z│+iarg z;
главные значения обобщенных показательной и степенной функций
az = ezlna и zα = eαlnz,
z, α, a – любые комплексные числа, a ≠ 0.
Примеры:
>> exp(1+i)
ans =
1.4687 + 2.2874i
>> sin(1+j)
ans =
1.2985 + 0.6350i
>> i^i
ans =
0.2079
>> isreal(i^i)
ans =
1
>> (2+i)^(1-3i)
ans =
-3.3307 - 8.3459i
>> log(-1)
ans =
0 + 3.1416i
Yandex.RTB R-A-252273-3- Основы работы и программирования, компьютерная математика Учебный курс
- Isbn ооо «Харвест», 2008
- Предисловие
- Введение
- Глава 1 знакомство с matlab и простейшие вычисления
- 1.1. Рабочая средаMatlab
- 1.2. Арифметические вычисления
- 1.3. Вещественные числа
- 1.4. Форматы вывода результата вычислений
- 1.5 Комплексные числа
- 1.6 Векторы и матрицы
- 1.7 Встроенные функции. Функции, задаваемые пользователем
- 1.8 Сообщения об ошибках и их исправление
- 1.9 Просмотр и сохранение переменных
- 1.10 Матричные и поэлементные операции над векторами и матрицами
- 1.11 Решение систем линейных уравнений
- Вопросы для самопроверки
- Глава 2 работа с массивами
- 2.1 Создание векторов и матриц
- 2.2 Применение команд обработки данных к векторам и матрицам
- 2.3 Создание специальных матриц
- 2.4 Создание новых массивов на основе существующих
- 2.5 Вычисление собственных значений и собственных векторов. Решение типовых задач линейной алгебры
- Вопросы для самопроверки
- Глава 3 м-файлы
- 3.1 Файл-программы
- 3.2 Файл-функции
- Вопросы для самопроверки
- Глава 4 программирование
- 4.1 Операторы отношения и логические операторы
- 4.2 Операторы цикла
- 4.3 Операторы ветвления
- 4.4 Оператор переключения switch
- 4.5 Оператор прерывания цикла break
- 4.6 Пример сравнения быстродействия матричных и скалярных операций
- Вопросы для самопроверки
- Глава 5 высокоуровневая графика
- 5.1 2D графика
- 5.1.1 Графики в линейном масштабе
- 5.2 Специальные виды 2d - графиков
- 5.2.1 Представление функции в виде дискретных отсчетов
- 5.2.2 Лестничные графики
- 5.2.3 Графики с указанием погрешности
- 5.2.4 Графики в логарифмическом и полулогарифмическом масштабах
- 5.2.5 Графики параметрических функций
- 5.3 3D графика
- 5.3.1 Линейчатые поверхности
- 5.3.2 Каркасные поверхности
- 5.3.3 Контурные графики
- 5.3.4 Сплошная освещенная поверхность
- 5.4 Оформление, экспорт и анимация
- 5.4.1 Оформление графиков
- 5.4.2 Сохранение и экспорт графиков
- 5.4.3 Анимация
- Вопросы для самопроверки
- Глава 6 прикладная численная математика
- 6.1 Операции с полиномами
- 6.2 Решение уравнений и их систем
- 6.3 Минимизация функции одной переменной
- 6.4 Минимизация функции нескольких переменных
- 6.5 Вычисление определенных интегралов
- 6.6 Решение дифференциальных уравнений
- 6.7 Аппроксимация и интерполяция данных
- 6.8 Интерполяция двумерных и многомерных данных
- Вопросы для самопроверки
- Глава 7 символьные вычисления
- 7.1 Символьные переменные, константы и выражения
- 7.2 Вычисления с использованием арифметики произвольной точности
- 7.3 Команды упрощения выражений – simplify, simple
- 7.4 Команда расширения выражений – expand
- 7.5 Разложение выражений на простые множители – команда factor
- 7.6 Приведение подобных членов – команда collect
- 7.7 Обеспечение подстановок – команда subs
- 7.8 Вычисление пределов – команда limit
- 7.9 Вычисление производных – команда diff
- 7.10 Вычисление интегралов – команда int
- 7.11 Разложение в ряд Тейлора – команда taylor
- 7.12 Вычисление суммы ряда – команда symsum
- 7.13 Решение уравнений и их систем – команда solve
- 7.14 Решение дифференциальных уравнений – команда dsolve
- 7.15 Прямое и обратное преобразования Лапласа – команды laplace,ilaplace
- 7.16 Графики символьных функций – команды ezplot, ezpolar
- 7.17 Прямой доступ к ядру системы Maple – командаmaple
- 7.18 Разложение рациональной дроби на сумму простейших дробей
- 7.19 Интерполяционный полином Лагранжа
- 7.20 Решение неравенств и систем неравенств
- 7.21 Разложение в ряд Тейлора функции нескольких переменных
- 7.22 Решение дифференциальных уравнений с помощью степенных рядов
- 7.23 Решение тригонометрических уравнений
- Вопросы для самопроверки
- Приложения Приложение 1. Справочная система matlab
- Приложение 2. Знакомство с пакетами расширения системыMatlab
- Приложение 3. Задания для самостоятельной работы
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Варианты
- Литература