%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Illustration of MATLAB complex arithmetic features
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Both i and j are pre-defined to the unit imaginary number ...
i
j
i^2
j^2
% Define a complex constant in the obvious/natural way ...
z1 = 3 + 4 * i
z2 = 3 - 4 * i
% Complex numbers can be used in general arithmetic expressions ...
z1 * z2
% Note how the result of this division is in normal form ...
z1 / z2
z1^2 + z2^2
% The 'complex' function can also be used to make complex numnbers, and
% is especially convenient for creating arrays of them ...
v1 = 1 : 5
v2 = -5 : -1
zv1 = complex(v1, v2)
% Useful functions for manipulating complex values ...
% abs -> compute modulus
abs(zv1)
% real -> returns real part of argument
% imag -> returns imag part of argument
real(zv1)
imag(zv1)
% conj -> complex conjugate
conj(zv1)
zv1 + conj(zv1)
imag(zv1 + conj(zv1))
% angle -> phase angle
theta = linspace(0, 2*pi, 17)
zth = exp(i*theta)
ztheta = phase(zth)
ztheta - theta