PDA

View Full Version : Mathematica Programming เรื่อง Graph2D ตอนที่ 3


คุณชายน้อย
13 กรกฎาคม 2008, 01:53
Mathematica Programming เรื่อง Graph2D ตอนที่ 3

ในตอนที่แล้วการวาดกราฟ Graph2D ฟังก์ชัน y = f(x) ต้องคำนวณในฟีลด์ $\mathbb{R} ^2$ เท่านั้น ในการคำนวณเราสามารถกำหนดตัวแปรต้น x ให้อยู่ในฟีลด์ $\mathbb{R} $ ได้เสมอ แต่ตัวแปรตาม y เราไม่สามารถควบคุมให้อยู่ในฟีลด์ $\mathbb{R}$ ได้เสมอไป ตัวอย่างเช่น ฟังก์ชัน $y = (-2)^x$ เมื่อ $x \in \mathbb{R} $ จะมี Range ของ y ที่อยู่ในฟีลด์ $\mathbb{C} $ พิจารณารูปต่อไปนี้
http://www.facsenate.mju.ac.th/Data/1215890392.jpg
จะพบว่าเกิด Error Real Number ที่ x = -2 ซึ่งทำไมเมื่อใช้ On[RealOnly] แล้วยังเกิด Error อยู่ ในขณะที่ $f(-2) = {(-2)}^{-2} = \frac{1}{(-2)^2} = \frac{1}{4}$ ก็อยู่ใน Real Number เราต้องทำความเข้าใจดี ๆ ว่าเรากำลังจะ Plot กราฟของ $f(x) = (-2)^x$ ในช่วง $-2 \leqslant x \leqslant 2$ การสร้างกราฟใน Mathematica จะมี Default กำหนดจุดในการ Plot เริ่มต้น 25 จุดด้วย PlotPoints -> 25 และแบ่งการ Plot ไปอีก 30 จุดในแต่ละส่วนด้วย PlotDivision -> 30 ดังรูป
http://www.facsenate.mju.ac.th/Data/1215885874.jpg
ซึ่งเมื่อกำหนดจุด x ในการ Plot เรียบร้อยแล้วจึงคำนวณในฟังก์ชัน $f(x) = (-2)^x$ ด้วย loop ที่ 1 คือ $x_1 = -2$ โปรแกรมจะทำการลากเส้นระหว่าง $(x_1,f(x_1))=(-2,f(-2))=(-2,\frac{1}{4} )$ และ $(x_2,f(x_2)) = (-1.83773,f(-1.83773))$ พบว่าไม่สามารถลากเส้นได้เพราะ f(-1.83773) $\not\in \mathbb{R} $ (ดูรูปประกอบ) จึงแจ้ง Error Real Number ที่ loop ที่ 1 คือ x = -2
http://www.facsenate.mju.ac.th/Data/1215887521.jpg
เพราะฉะนั้นการใช้ On[RealOnly] ต้องตรวจสอบว่าฟังกชันที่คำนวณต้องมีคำตอบที่อยู่ใน $\mathbb{R} $ อย่างน้อย 1 คำตอบ คล้าย ๆ กับตัวอย่างในตอนที่แล้ว ${(-1)}^{1/3}$ มีคำตอบ 3 คำตอบ ใน $\mathbb{R} $ อยู่ 1 คำตอบ และใน $\mathbb{C}-\mathbb{R} $ อยู่ 2 คำตอบ