Пример.
>> (2+4i)/3+(5-7i)*2-(8+3i)^5
ans = 1.0083e+004 -4.4416e+004i
Если вы забудете ввести скобки результат вычислений окажется неверным.
> 2+4i/3+5-7i*2-8+3i^5
ans = -1.0000e+000 +2.3033e+002i
Чтобы вычислить комплексно – сопряженное число, следует использовать апостроф (’). Данный символ вводится сразу же после комплексного числа, которое в этом случае не нужно заключать в круглые скобки.
> 7+5i'
ans = 7.0000 - 5.0000i
Если же надо найти комплексно – сопряженное выражение, исходное выражение необходимо заключить в круглые скобки.
>> ((7+5i)/3-(2+3i)*5)'
ans =-7.6667 +13.3333i
Если апостроф применить по отношению к вектору- столбцу, элементы которого являются комплексными числами, результатом будет вектор – строка из его комплексно – сопряженных элементов. Аналогичным образом применение апострофа к вектору – строке с комплексными элементами приведет к созданию вектора – столбца из ее комплексно – сопряженных элементов. Если необходимо только транспонировать вектор, состоящий из комплексных чисел, используйте комбинацию символов “.’ ”
>> a=[2i 3i i].'
a = 0 + 2.0000i
0 + 3.0000i
0 + 1.0000i
>> a=[2i 3i i]'
a =
0 - 2.0000i
0 - 3.0000i
0 - 1.0000i
Matlab позволяет использовать комплексные числа в качестве аргументов встроенных элементарных функций :
>> sin(2+3i)
ans =
9.1545 - 4.1689i
Решение систем линейных уравнений с комплексными элементами.
В ряде задач, например, при расчете электрических цепей символическим методом, нужно решение систем линейных уравнений с комплексными элементами матрицы и вектора свободных членов. Приведем пример такого решения для системы из трех уравнений:
>> A=[4+i 0.24 -0.08;0.09 3 -0.15;0.04 0.08 4+i]
A =
4.0000 + 1.0000i 0.2400 -0.0800
0.0900 3.0000 -0.1500
0.0400 0.0800 4.0000 + 1.0000i
>> B=[8; 9; 20]
B = 8 9 20
>> Х=А\В
X = 1.8 - 0.47i 3,2+ 0.04i 4.6 - 1.2i
Проверка показывает, что решение верно:
> А*Х
ans = 8.0000 - 0.0000i 9.0000 - 0.0000i 20.0000 - 0.0000i
Графическое представление комплексных чисел
Для представления радиус-векторов в их обычном виде, т.е. в виде стрелок, исходящих из начала координат и имеющих угол и длину, определяемые действительной и мнимой частью комплексных чисел, представляющих эти вектора используется группа команд:
compass(U,V) – строит графики радиус-векторов с компонентами (U,V);
compass(Z) – эквивалентно compass(real (Z), imag (Z));
compass(U,V, LINESPEC) compass(Z, LINESPEC) - аналогичны представленным выше командам, но позволяют задавать спецификацию линий построения;
>>Z=[2+3i 5+6i 1+i];
>>compass(Z)
H= compass(…) - строит график и возвращает дескрипторы графических объектов.
H=compass(Z)
H = 128.0004 129.0004 130.0004
Для представления проекций радиус-вектора на плоскость используется семейство графических команд класса feather:
feather (Z) – для вектора Z с комплексными элементами даёт построения, аналогичные feather (real(Z), imag (Z));
feather (U,V) – строит график проекции векторов, заданных компонентами U и V, на плоскость;
feather (…,S) – дает построения, описанные выше, но со спецификацией линий, заданной строковой константой S по аналогии с командой plot.
Пример использование команды feather(z)
x=0:0.1*pi:3*pi;
>> y=0.05+i;
>> z=exp(x*y);
>> feather(z)
H=feather( … ) строит графики и возвращает дескрипторы графических объектов
Для построения комплексных чисел можно использовать функцию plot(Z), где Z – комплексный вектор или матрица.
Пример: Найти все значения
>> z=3-4i;
>> r=abs(z);
>> phi=angle(z);
>> k=[0 1 2];
>> W=r^(1/3)*(cos((phi+2*k*pi)/3)+i*sin((phi+2*k*pi)/3));
>> [k;W]
ans =
0 1.0000 2.0000
0.7148 + 1.5534i -1.7027 - 0.1576i 0.9879 - 1.3958i
>> compass(W)
>>