ขอต้อนรับ ผู้มาเยือน กรุณา ล็อกอิน หรือ สมัครสมาชิก

ล็อกอินด้วยชื่อผู้ใช้ รหัสผ่่าน และระยะเวลาใช้งาน

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
 
Advanced search

40704 Posts in 6002 Topics- by 5781 Members - Latest Member: oSOLdoMAR
Pages: 1   Go Down
Print
Author Topic: แนะนำ Mathematica ตอน 2  (Read 8190 times)
0 Members and 1 Guest are viewing this topic.
psaipetc
Moderator
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« on: July 26, 2005, 12:03:23 AM »

ผมใส่ไว้ที่ http://www.atriumtech.com/pongskorn/mathematica/Chapter2/chapter2.html
หน้าหลักอยู่ที่ http://www.atriumtech.com/pongskorn/mathematica/index.html

เชิญดูครับ มีคำถาม คำแนะนำ อะไร ก็บอกครับ จะพยายามตอบและปรับปรุงครับ
Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
ปิยพงษ์ - Head Admin
Administrator
SuperHelper
*****
Offline Offline

Posts: 6133


มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ


WWW
« Reply #1 on: July 26, 2005, 09:30:16 AM »

เรื่องการใช้ Module ยังงง ๆ อยู่

ตรง In[97] บรรทัดแรก หลัง Module วงเล็บ " ] " หายไปหรือเปล่า?

แล้ว Module เป็นตัวทำอะไรกับ arguments ของมัน ?
Logged

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
psaipetc
Moderator
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« Reply #2 on: July 26, 2005, 10:36:39 AM »

ถ้าเราไม่ใช้ Module[ ] ตัวแปรอะไรก็ตามที่เรากำหนดระหว่างการคำนวณของเรา ก็จะคงอยู่ให้เห็นหลังจากการคำนวณเสร็จสิ้นไปแล้ว
และมักจะไปทับซ้อนตัวแปรที่มีชื่อเหมีอนกัน ทำให้เรามีโอกาสทำผิดพลาดมากขึ้น� ถ้ามีเหตุการณ์อย่างนั้นเกิดขึ้น เราจะต้องใช้ Clear[ ] หรือ Remove[ ] ตัวแปรเหล่านั้น

ในตัวอย่างนี้ตัวแปรชั่วคราวมีเพียงสองตัวจึงไม่เห็นผลเสียนัก ผลเสียจะเห็นชัดในการเขียนโปรแกรมที่ซับซ้อนยิ่งขึ้น เวลาที่มีตัวแปรชั่วคราวหลายตัว

ใน In[97] ผมพิมพ์ comment ใน (*...*) ซึ่งอยู่หลังวงเล็บ " ] " ที่ปิด Module[...

Module เหมือนกับการ scope ตัวแปร ที่ถูกกำหนด (defined) ให้เห็นเฉพาะใน Module เท่านั้น เนื่องจาก Mathematica จะให้ ตัวแปรเป็น global และเห็นได้ทุกแห่ง ถ้าเราไม่บอกให้ Mathematica รู้ว่าตัวแปรควรจะเป็น local variables ด้วยคำสั่ง Module[{localvar1, localvar2, ...}, expression1; expression2; expression3;...;expressionN]

ผม update files ที่ http://www.atriumtech.com/pongskorn/mathematica/Chapter2/chapter2.html เพื่อใส่คำอธิบายข้างบนด้วยครับ� Smiley
« Last Edit: July 26, 2005, 11:01:09 AM by psaipetc » Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
ปิยพงษ์ - Head Admin
Administrator
SuperHelper
*****
Offline Offline

Posts: 6133


มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ


WWW
« Reply #3 on: July 26, 2005, 11:23:38 AM »

ขอบคุณครับ

แต่กว่าจะหาวงเล็บปิด Module ได้ ต้องตามไปถึงก่อนหน้า comment สุดท้ายโน่น ไม่นึกว่า argument ของ Module จะยาวขนาดนี้

Logged

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
ปิยพงษ์ - Head Admin
Administrator
SuperHelper
*****
Offline Offline

Posts: 6133


มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ


WWW
« Reply #4 on: July 26, 2005, 01:23:15 PM »

ขอแนะนำเพิ่มเติมเกี่ยวกับการเขียนคำอธิบายเรื่องการใช้ Module

ในตัวอย่างที่แสดงนั้นมีการใช้ function อื่นด้วย เช่น Print, Table, Sqrt, Dot, ...  สิ่งเหล่านี้อาจเป็นของใหม่สำหรับผู้เริ่มหัดเรียน ทำให้ไม่สามารถเห็นการใช้งานของ Module ได้อย่างง่าย ๆ เพราะต้องเผชิญกับสิ่งใหม่หลายอย่างพร้อมกัน

ตัวอย่างการใช้ Module ควรเป็นตัวอย่างง่าย ๆ  ใช้ตัวอย่างการบวก ลบ คูณ หาร ง่าย ๆ

คำอธิบายที่เป็น comment อาจเอาไว้ข้างนอก เพื่อให้เห็นรูปการใช้งานได้ชัดเจน
Logged

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
psaipetc
Moderator
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« Reply #5 on: July 26, 2005, 01:30:14 PM »

จริงครับ ไว้ผมจะปรับปรุง Smiley

ผมไป update files ที่ http://www.atriumtech.com/pongskorn/mathematica/Chapter2/chapter2.html แล้วครับ
« Last Edit: July 26, 2005, 02:25:49 PM by psaipetc » Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
ปิยพงษ์ - Head Admin
Administrator
SuperHelper
*****
Offline Offline

Posts: 6133


มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ


WWW
« Reply #6 on: July 26, 2005, 07:07:28 PM »

ชัดเจนขึ้นมากเลยครับ  ขอบคุณครับ  Cheesy
Logged

มีน้ำใจ ไม่อวดตัว มั่วไม่ทำ
psaipetc
Moderator
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« Reply #7 on: July 26, 2005, 09:31:40 PM »

ตอนนี้ server atriumtech.com ต่อเน็ตไม่ได้ครับ  ถ้าใครต้องการ Files ทั้งหลาย ให้ email มาหาผม
ที่ psaipetc@mindfireis.com แล้วผมจะ mail ไปให้ครับ

ขนาดประมาณ 700 kb ครับ

Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
pattyphys
neutrino
*
Offline Offline

Posts: 110


I know it is your life, but my life is you.


« Reply #8 on: August 03, 2005, 01:48:36 PM »

สงสัยว่า Kernel ของ Mathematica ขนาดเล็กแค่นั้น แต่ทำไมความสามารถสูงมาก มี Algorithm อย่างไรในการสร้าง Kernel
ขอโทษด้วยครับที่ไม่ค่อยเกี่ยวกับเนื้อหาเท่าไหร่
Logged

I don't wanna live another day without you by my side.
psaipetc
Moderator
SuperHelper
*****
Offline Offline

Posts: 653


kostuff.blogspot.com


WWW
« Reply #9 on: August 03, 2005, 11:34:33 PM »

ผมเข้าใจว่าที่ MathKernel.exe เล็กเพียง 100 kb นั้นก็เพราะ มันเป็นเพียงตัว load ส่วนอื่น หรือ เป็น ตัวแปรคำสั่ง (interpreter) โดยที่เนื้องานจริง
น่าจะอยู่ใน file อื่นๆใน C:\Program Files\Wolfram Research\Mathematica\5.0\SystemFiles

มีข้อมูลเกี่ยวกับตัวโปรแกรมใน Help ส่วน Mathematica Book:

1.12.1    Why You Do Not Usually Need to Know about Internals
1.12.2    Basic Internal Architecture
1.12.3    The Algorithms of Mathematica
1.12.4    The Software Engineering of Mathematica
1.12.5    Testing and Verification
Logged

Life Lessons (related to science anyway):
http://www.guardian.co.uk/print/0,3858,5164417-111414,00.html
Pages: 1   Go Up
Print
Jump to:  

คุณสมบัติของเด็กดี

ไม่ฟังเวลามีการนินทากัน ไม่มองหาข้อด้อยของผู้อื่น ไม่พูดนินทาเหยีบบย่ำผู้อื่น