เศษส่วน Python
เรขาคณิตเศษส่วนเป็นสาขาที่น่าสนใจซึ่งเกี่ยวข้องกับการศึกษาโครงสร้างทางคณิตศาสตร์ที่เรียกว่าเศษส่วน แฟร็กทัลเป็นรูปแบบที่ซับซ้อนและคล้ายคลึงกันซึ่งทำซ้ำตัวเองในระดับต่างๆ และสามารถพบได้ในธรรมชาติ ศิลปะ และวิทยาศาสตร์
หนึ่งในแฟร็กทัลที่มีชื่อเสียงที่สุดคือชุด Mandelbrot ซึ่งตั้งชื่อตามนักคณิตศาสตร์ Benoit Mandelbrot ชุด Mandelbrot ถูกสร้างขึ้นโดยการทำซ้ำสมการง่ายๆ ซ้ำแล้วซ้ำอีก และตรวจสอบพฤติกรรมของลำดับผลลัพธ์ของจำนวนเชิงซ้อน ชุด Mandelbrot ถูกกำหนดให้เป็นชุดของจำนวนเชิงซ้อน c ซึ่งลำดับยังคงถูกล้อมรอบภายใต้การวนซ้ำ
ในการสร้างชุด Mandelbrot เราสามารถใช้ Python และไลบรารี matplotlib ขั้นตอนแรกคือการกำหนดฟังก์ชันที่รับจำนวนเชิงซ้อน c และจำนวนการวนซ้ำสูงสุด และส่งกลับจำนวนการวนซ้ำที่ใช้เพื่อให้ลำดับไม่มีขอบเขต
import numpy as np
def mandelbrot(c, max_iter):
z = 0
for i in range(max_iter):
z = z**2 + c
if abs(z) > 2:
return i
return max_iter
def generate_mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter):
x_values = np.linspace(xmin, xmax, width)
y_values = np.linspace(ymin, ymax, height)
mandelbrot_set = np.zeros((height, width))
for i in range(height):
for j in range(width):
mandelbrot_set[i,j] = mandelbrot(complex(x_values[j], y_values[i]), max_iter)
return mandelbrot_set
เมื่อสร้างชุด Mandelbrot แล้ว เราสามารถใช้ไลบรารี matplotlib เพื่อแสดงภาพเป็นภาพได้
def generate_mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter):
x_values = np.linspace(xmin, xmax, width)
y_values = np.linspace(ymin, ymax, height)
mandelbrot_set = np.zeros((height, width))
for i in range(height):
for j in range(width):
mandelbrot_set[i,j] = mandelbrot(complex(x_values[j], y_values[i]), max_iter)
return mandelbrot_set
ตอนนี้เราสามารถใช้ฟังก์ชันเหล่านี้เพื่อสร้างและวางแผนชุด Mandelbrot สำหรับพื้นที่ที่สนใจและความละเอียดที่กำหนด
if __name__ == '__main__':
xmin, xmax, ymin, ymax = -2, 1, -1.5, 1.5
width, height = 1000, 1000
max_iter = 1000
mandelbrot_set = generate_mandelbrot_set(xmin, xmax, ymin, ymax, width, height, max_iter)
plot_mandelbrot_set(mandelbrot_set, cmap='inferno')
แฟร็กทัลที่มีชื่อเสียงอีกชุดหนึ่งที่สามารถสร้างขึ้นโดยใช้วิธีการที่คล้ายกันคือชุดจูเลีย ซึ่งถูกกำหนดให้เป็นชุดของจำนวนเชิงซ้อน c โดยที่ลำดับ z_n = z_{n-1}² + c ยังคงมีขอบเขตอยู่ เซต Julia ถูกสร้างขึ้นโดยการวนซ้ำสมการเดียวกันกับเซต Mandelbrot แต่มีค่าคงที่เป็น c
ในการสร้างชุดจูเลีย เราสามารถแก้ไขฟังก์ชันแมนเดลบรอตเพื่อรับค่าคงที่ของ c และนำไปใช้กับแต่ละจุดในระนาบเชิงซ้อน
def julia(z, c, max_iter):
for i in range(max_iter):
z = z**2 + c
if abs(z) > 2:
return i
return max_iter
def julia(z, c, max_iter):
for i in range(max_iter):
z = z**2 + c
if abs(z) > 2:
return i
return max_iter
if __name__ == '__main__':
xmin, xmax, ymin, ymax = -2, 2, -2, 2
width, height = 1000, 1000
max_iter = 1000
c = complex(-0.4, 0.6)
julia_set = generate_julia_set(xmin, xmax, ymin, ymax, width, height, c, max_iter)
plot_mandelbrot_set(julia_set, cmap='inferno')
แฟร็กทัลเป็นโครงสร้างทางคณิตศาสตร์ที่น่าสนใจซึ่งสามารถสร้างและแสดงภาพได้โดยใช้ Python และไลบรารี matplotlib เซตแมนเดลบรอตและเซตจูเลียเป็นสองตัวอย่างที่มีชื่อเสียงของแฟร็กทัลที่สามารถสร้างขึ้นโดยใช้อัลกอริทึมแบบวนซ้ำอย่างง่าย และโครงสร้างที่ซับซ้อนและสวยงามของแฟร็กทัลทำให้เป็นหัวข้อยอดนิยมของการศึกษาและการสำรวจทางคณิตศาสตร์ วิทยาศาสตร์ และศิลปะ





































![รายการที่เชื่อมโยงคืออะไร? [ส่วนที่ 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)