Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SKM_02_2015.docx
Скачиваний:
86
Добавлен:
13.02.2018
Размер:
1.33 Mб
Скачать

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]