ภาพรวม
ใช้ numpy.outer() ร่วมกับ numpy.ones() และ numpy.linspace() เพื่อสร้างกริดจำนวนเชิงซ้อนสำหรับการคำนวณเซต Mandelbrot
ขั้นตอนการทำงาน
- นำเข้าไลบรารี
import numpy as np - สร้างส่วนจริง (real part)
rl = np.outer(np.ones((5,)), np.linspace(-2, 2, 5)) print("ส่วนจริงของจำนวนเชิงซ้อน...\n", rl) - สร้างส่วนจินตภาพ (imaginary part)
im = np.outer(1j*np.linspace(2, -2, 5), np.ones((5,))) print("\nส่วนจินตภาพของจำนวนเชิงซ้อน...\n", im) - รวมเป็นกริด
grid = rl + im print("\nแสดงกริด...\n", grid)
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
# ส่วนจริง
rl = np.outer(np.ones((5,)), np.linspace(-2, 2, 5))
print("ส่วนจริงของจำนวนเชิงซ้อน...\n", rl)
# ส่วนจินตภาพ
im = np.outer(1j*np.linspace(2, -2, 5), np.ones((5,)))
print("\nส่วนจินตภาพของจำนวนเชิงซ้อน...\n", im)
# รวมเป็นกริด
grid = rl + im
print("\nแสดงกริด...\n", grid)
ผลลัพธ์ที่คาดหวัง
ส่วนจริงของจำนวนเชิงซ้อน...
[[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]]
ส่วนจินตภาพของจำนวนเชิงซ้อน...
[[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]
[-2. -1. 0. 1. 2.]]
แสดงกริด...
[[-2.+2.j -1.+2.j 0.+2.j 1.+2.j 2.+2.j]
[-2.+1.j -1.+1.j 0.+1.j 1.+1.j 2.+1.j]
[-2.+0.j -1.+0.j 0.+0.j 1.+0.j 2.+0.j]
[-2.-1.j -1.-1.j 0.-1.j 1.-1.j 2.-1.j]
[-2.-2.j -1.-2.j 0.-2.j 1.-2.j 2.-2.j]]