Complex plane: 複素平面

In [1]:
import numpy as np
import matplotlib.pyplot as plt
In [2]:
z = np.complex(2,3)

print('Strange outcome')
plt.plot(z,'ro')
Strange outcome
/anaconda3/lib/python3.6/site-packages/numpy/core/numeric.py:538: ComplexWarning: Casting complex values to real discards the imaginary part
  return array(a, dtype, copy=False, order=order)
Out[2]:
[<matplotlib.lines.Line2D at 0x116af5c88>]
In [3]:
print('Proper outcome')

plt.plot([0,np.real(z)],[0,np.imag(z)],'r')

plt.plot(np.real(z),np.imag(z),'ro')
plt.xlabel('real')
plt.ylabel('imag')
plt.grid()
plt.axis([-4,4,-4,4])
Proper outcome
Out[3]:
[-4, 4, -4, 4]

Exercise

In [4]:
z1 = np.complex(-3,1)
z2 = np.complex(-1,1)

z1pz2 = z1+z2

plt.plot([0,np.real(z1)],[0,np.imag(z1)],label='z1')
plt.plot([0,np.real(z2)],[0,np.imag(z2)],label='z2')
plt.plot([0,np.real(z1pz2)],[0,np.imag(z1pz2)],label='z1+z2')

plt.xlabel('real')
plt.ylabel('imag')
plt.grid()
plt.axis('square')
plt.legend()
plt.axis([-5,5,-5,5])
plt.show()
In [5]:
z1tz2 = z1*z2

plt.plot([0,np.real(z1)],[0,np.imag(z1)],label='z1')
plt.plot([0,np.real(z2)],[0,np.imag(z2)],label='z2')
plt.plot([0,np.real(z1tz2)],[0,np.imag(z1tz2)],label='z1+z2')

plt.xlabel('real')
plt.ylabel('imag')
plt.grid()
plt.axis('square')
plt.legend()
plt.axis([-5,5,-5,5])
plt.show()