Wednesday, December 29, 2010

หนังสือโคตรมั่ว

วันนี้ไปร้านหนังสือ SE-ED แล้วเจอหนังสือเล่มนี้ครับ


ชื่อว่า"บางสิ่งที่น่าเสียดาย ไอน์สไตน์ไม่เคยพบแต่พระพุทธเจ้าเห็น" ครับ วูบแรกผมก็คิดเลยว่า เอาอีกแล้วเหรอ ไอ้หนังสือประเภท ไอน์สไตน์ปนกับพระพุทธเจ้าเนี่ย ซึ่งทุกๆเล่มที่ผมดูผมก็จะเปิดดูส่วนที่เกี่ยวกับวิทยาศาสตร์ และจะพบว่าค่อนข้างมั่วทุกเล่ม ดังนั้นผมจึงคิดว่าส่วนอื่นๆที่ผมไม่ได้อ่านก็น่าจะค่อนข้างมั่วด้วย ผมจึงไม่ให้น้ำหนักกับหนังสือพวกนี้นัก

สำหรับเล่มนี้ ปรากฏว่าจากการสุ่มอ่านส่วนที่เกี่ยวกับวิทยาศาสตร์แล้ว เล่มนี้มั่วมหากาฬเลยครับ ไม่รู้ว่าคนเขียนมันกล้าเขียนออกมาได้อย่างไร ผมอ่านแล้วก็เซ็งว่าถ้าคนไม่เคยศึกษากระบวนการทางวิทยาศาสตร์มาอ่านเข้า จะสมองเสียถาวรหรือเปล่า ผมถึงรู้สึกว่าต้องมาเขียนเตือนไว้ที่นี้ เผื่อท่านได้ไปประสบพบพานเข้า จะได้ระวังตัวไว้ ถ้าจะอ่านก็ต้องมีวิจารณญาณดีๆ ท่องคาถาสามข้อนี้ไว้ครับ:

1. จริงเหรอ?
2. รู้ได้ไงว่าจริง หลักฐานมันคืออะไร?
3. จะแยกได้ไงว่าไม่ใช่ประสาท/สมอง หลอก/หลอน ตัวเอง?

Tuesday, December 28, 2010

A Barnsley's Fern In 7 Lines of Mathematica

I used to draw a Barnsley's fern with a program written in Pascal when I was 19 years old. Yesterday someone asked about it in a forum I visited, so I drew another one using Mathematica. The code is much shorter this time. (I'm sure that many people can shorten it even more.)

Here's the code to draw the fern with 10,000 points. You can copy and paste and run it in Mathematica:

          

ifsFern[p_] := Module[{i},
i = Random[Integer, 99];
If[i < 1, Return[{{0., 0.}, {0., .16}}.p ]];
If[i >= 1 && i < 86, Return[{{0.85, 0.04}, {-0.04, 0.85}}.p + {0., 1.6}]];
If[i >= 86 && i < 93, Return[{{0.20, -0.26}, {0.23, 0.22}}.p + {0., 1.6}]];
If[i >= 93, Return[{{-0.15, 0.28}, {0.26, 0.24}}.p + {0., 0.44}]]]


Graphics[{RGBColor[0, 0.5, 0], Point[NestList[ifsFern, {0, 0}, 10000]]}]





The result looks like this:



Monday, December 27, 2010

ภาพต้นไม้และไลเคนจากเขาใหญ่ 27 ธันวาคม 2553


ผมพึ่งใส่ภาพต้นไม้และไลเคนไว้บน Facebook ครับ ลองเข้าไปดูนะครับ เผื่อจะชอบ

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

เขาใหญ่มีต้นไม้อุดมสมบูรณ์มาก ในแต่ละฤดูลักษณะของต้นไม้ก็แตกต่างกันไป ไลเคนก็ดูแตกต่างกันด้วยครับ ผมไม่แน่ใจว่าเป็นประเภทเดิมแต่เปลี่ยนสี หรือแต่ละฤดูเหมาะกับไลเคนต่างชนิดกัน หรือผมตาถั่วเอง ไปคราวนี้อากาศเย็นและแห้ง ไลเคนดูแห้งๆสีไม่เหมือนหน้าฝน

วันนี้ผมเห็นแต่คนรีบเดินทางไปถ่ายรูปวิวและน้ำตก เลยไม่ได้สนใจสิ่งมหัศจรรย์ตามทางเดิน ถ้ามีโอกาสไปดู ลองค่อยๆดู ไม่ต้องรีบเดินนะครับ ผมว่าสวยและแปลกดี

Wednesday, December 22, 2010

TestDisk & PhotoRec: Rescuing Deleted Files On Windows, Linux, Mac OS X, And Other OS's

TestDisk is a free (open source) software that let you recovered deleted partitions and files on most major operating systems easily. I've used it successfully on Windows, Linux, and Mac OS X on various occasions. So, if you unintentionally delete your files you might want to try it.

For deleted files on digital camera memory, TestDisk has a companion program called PhotoRec that recovers pictures and videos from the various media such hard disks, DVD, CD, memory cards, and thumb drives. Here's a step-by-step guide on how to use it.

Monday, December 20, 2010

Finding Links You Shared On Facebook

I've shared a lot of links on Facebook and occasionally people would ask me about an old link that I've already forgotten. I don't know of a way to easily find those links but last week someone introduced me to trunk.ly, a search engine for the links I shared on Facebook and Twitter. It has done a good job of listing and searching the links that I've recently shared. So, if you want to keep track of the links you share, you might find trunk.ly useful.

By the way, my list of links at trunk.ly is at http://trunk.ly/psaipetc/ and all the links I've shared on Facebook is at http://www.facebook.com/posted.php?id=552001173

Thursday, December 16, 2010

แก้สมการด้วยวิธีของนิวตัน

มีเด็กๆที่สนใจคณิตศาสตร์มาถามผมว่าสมการทั่วๆไปแก้ออกมาเป๊ะๆไม่ได้แล้วเราทำอย่างไร ผมก็บอกว่าสมการส่วนใหญ่เราต้องหาคำตอบด้วยการประมาณเอาครับ ซึ่งวิธีอันหนึ่งที่เราสามารถใช้ได้ง่ายๆก็คือวิธีของนิวตัน ข้างล่างนี้เป็นกระทู้ที่ผมเขียนไว้ที่ Mahidol Physics Educational Center ครับ:

******
สำหรับปัญหาที่เราแก้สมการโดยตรงไม่ได้ เราต้องแก้ด้วยวิธีประมาณด้วยตัวเลขครับ วิธีที่ใช้กันบ่อยๆวิธีหนึ่งก็คือวิธีการของนิวตัน (Newton's method: http://en.wikipedia.org/wiki/Newton's_method) ครับ

วิธีการของนิวตันบอกว่า ถ้าจะแก้สมการ f(x) = 0 ให้เราเดาค่า x มาสักค่า (เรียกมันว่า x0) ก็แล้วกัน แล้วค่า x อันต่อไป (เรียกมันว่า x1) ที่น่าจะทำให้ f(x) ใกล้ศูนย์มากขึ้น ควรจะคำนวณอย่างนี้ครับ:

x1 = x0 - f(x0)/f'(x0) โดยที่ f'(x) คือ derivative ของ f(x) ครับ

ถ้าค่า x1 ทำให้ f(x) ไม่ใกล้ 0 พอ เราก็หา x2, x3, x4, ... ไปเรื่อยๆจนเราพอใจว่าค่า f(xn) ใกล้ 0 พอแล้ว โดยที่ xn หาได้จาก xn-1 ดังนี้ครับ:

xn = xn-1 - f(xn-1)/f'(xn-1)

ถ้าจะทำการคำนวณด้วยวิธีของนิวตันใน Mathematica สามารถทำอย่างนี้ครับ:

newtonSolve[f_, guess_, steps_] := NestList[ #1 - f[#1]/f'[#1] &, guess, steps]

f คือฟังค์ชั่นที่เราจะหา f(x) = 0
guess คือค่าที่เราเดาตอนแรกว่า f(guess) น่าจะไม่ห่างจาก 0 นัก
steps คือจำนวนครั้งที่เราจะทำการทำวิธีของนิวตันซำ้ๆกัน

ยกตัวอย่างเช่น เราจะหาค่ารูทที่สองของสอง เราก็เขียนสมการ f(x) = x^2 -2 = 0 ก่อน เพราะค่า x เท่ากับรูทที่สองของสองจะแก้สมการนั้นพอดี:

f[x_] := x^2 - 2

แล้วเราก็เรียก newtonSolve ด้วยฟังค์ชั่น f โดยเดาค่า guess = 1 และให้ทำซ้ำสักห้าครั้ง:

newtonSolve[f, 1, 5]

แล้วเราก็ได้ผลดังนี้: {1, 3/2, 17/12, 577/408, 665857/470832, 886731088897/627013566048}

Mathematica ทำการคำนวณให้เป็นค่าเศษส่วนไม่มีทศนิยม เพราะเราเดาด้วยค่า 1 ซึ่งเป็นจำนวนที่ไม่มีการประมาณเข้ามาเกี่ยวข้อง ถ้าเราต้องการคำตอบเป็นเลขทศนิยม เราก็ควรเดาด้วยค่า 1.0 ดังนี้:

newtonSolve[f, 1.0, 5]

แล้วเราก็จะได้ผลดังนี้: {1., 1.5, 1.41667, 1.41422, 1.41421, 1.41421} ซึ่งเราจะเห็นว่า 1.41421 นั้นเป็นค่าประมาณของรูทที่สองของสองได้ดีทีเดียว

นักศึกษาลองไปทดลองดูครับ

มีใครอยากลองอธิบายว่า newtonSolve[f_, guess_, steps_] := NestList[ #1 - f[#1]/f'[#1] &, guess, steps] ทำงานอย่างไรใน Mathematica ไหมครับ เป็นการฝึกความเข้าใจเรื่อง Pure function และ Functional programming ครับ
******

Tuesday, December 14, 2010

ความเฉื่อยครองโลก

ถ้าท่านอ่านอีเมล์แล้วไม่เห็นรูปหรือวิดีโอ เข้าไปดูที่เว็บ http://kostuff.blogspot.com/ นะครับ

(คราวที่แล้วเรื่องเล่นกับการหมุนที่นี่ครับ)


วันนี้เป็นอีกวันอังคารที่ผมได้เข้าไปทำการทดลองวิทยาศาสตร์กับเด็กๆกลุ่มบ้านเรียนปฐมธรรมและเด็กๆอนุบาลบ้านพลอยภูมิอีกครั้งครับ คราวนี้เราทำการทดลองเกี่ยวกับ "ความเฉื่อย" ครับ

"ความเฉื่อย" หรือ Inertia (อ่านว่า อิ-เนอร์-เชียะ) เป็นคุณสมบัติของวัตถุทุกๆอย่างครับ เป็นคุณสมบัติของวัตถุต่างๆที่ไม่อยากเปลี่ยนแปลงการเคลื่อนที่ของมัน ถ้าอยู่เฉยๆก็จะอยู่เฉยๆไปเรื่อยๆจนมีอะไรมาทำอะไรกับมัน ถ้าเคลื่อนที่อยู่แล้วก็ไม่อยากหยุด ไม่อยากวิ่งเร็วขึ้น ไม่อยากเลี้ยว ถ้าจะทำให้หยุด หรือเร็วขึ้น หรือเลี้ยว ต้องใช้แรงมากระทำกับมัน

เราเรียกปริมาณความเฉื่อยของวัตถุแต่ละชิ้นว่า "มวล" ของวัตถุ บนโลกถ้าวัตถุไหนมีมวลมาก นำ้หนักของมันก็มากตาม แต่ในอวกาศไกลๆจากโลก แม้ว่าวัตถุนั้นจะมีน้ำหนักน้อยมากๆ (เพราะน้ำหนักคือแรงดึงดูดจากโลกมีค่าน้อยลงเมื่อห่างจากโลก) มวลหรือความเฉื่อยของมันก็ยังมี และทำให้วัตถุไม่ค่อยอยากเปลี่ยนแปลงการหยุดนิ่งหรือการเคลื่อนที่ของมัน ถ้าจะเปลี่ยนแปลง ก็ต้องมีแรงอะไรไปผลักดันดูดดึงมัน


วัตถุที่มวลมาก ความเฉื่อยก็จะมาก ทำให้ต้องใช้แรงมากในการเร่งหรือหยุดหรือเลี้ยววัตถุเหล่านั้น ด้วยเหตุนี้รถบรรทุกสิบล้อจึงเร่งให้มีความเร็วง่ายๆเหมือนรถจักรยานยนต์ไม่ได้ รวมถึงใช้ระยะทางในการหยุดมากกว่า

เอาละพอแล้วสำหรับภาคทฤษฎีระดับประถม เรามาทำการทดลองกันดีกว่า

การทดลองแรกเราก็เอากระดาษแข็งไปวางปิดปากถ้วยพลาสติก แล้วเอาเหรียญหรือวัตถุที่ไม่เบาเกินไปวางไว้บนกระดาษแข็ง ถ้าเราเคาะหรือดีดกระดาษแข็งในแนวนอน เหรียญก็จะไม่ค่อยขยับ ถ้าจะขยับนิดหน่อยก็เพราะความฝืดจากกระดาษ ถ้าเราดีดกระดาษแข็งเร็วพอ กระดาษก็จะกระเด็นไป ขณะที่เหรียญตั้งอยู่ที่เดิม แล้วก็ตกลงไปในถ้วย ถ้าเราเลื่อนกระดาษช้าๆ แรงเสียดทานจากกระดาษก็จะเพียงพอที่จะลากเหรียญไปด้วย แต่เมื่อเราดีดกระดาษออกไปอย่างรวดเร็ว แรงเสียดทานจากกระดาษไม่เพียงพอที่จะพาเหรียญให้ติดไปกับกระดาษได้ เหรียญจึงอยู่เกือบๆที่เดิม และเมื่อไม่มีกระดาษรองอยู่ โลกก็ดึงดูดเหรียญให้ตกลงไปในถ้วย

หลังจากผมทำให้เด็กดู ผมก็ให้เด็กๆทำการทดลองกันเอง เด็กๆก็ทดลองวิธีดีดและดึงกระดาษต่างๆกัน รวมทั้งใช้แผ่น CD เสียมาแทนกระดาษแข็งด้วย







การทดลองต่อไปคือการแสดงว่าการที่จะบังคับให้วัตถุเคลื่อนที่เป็นวงกลม ต้องเอาแรงไปดึงวัตถุเข้าสู่ศูนย์กลาง ไม่งั้นวัตถุก็จะอยากวิ่งเป็นเส้นตรงออกไป ไม่วิ่งเป็นวงกลม (ตอนนี้ผมก็เชื่อมโยงกับความรู้สัปดาห์ที่แล้ว เรื่องการที่โลกโคจรรอบดวงอาทิตย์ ก็ต้องมีแรงดึงดูดโลกเข้าหาดวงอาทิตย์) การทดลองก็คือเอาเชือกผูกวัตถุชิ้นหนึ่ง (พวงกุญแจ) ร้อยเชือกผ่านปลอกปากกาพลาสติก แล้วเอาปลายเชือกอีกข้างผูกกับวัตถุอีกชิ้นหนึ่ง (ดินสอ) เมื่อเราจับปลอกปากกายกขึ้น พวกกุญแจก็จะหย่อนอยู่ข้างล่าง จากนั้นเราก็ทำการเหวี่ยงให้ดินสอวิ่งเป็นวงกลม พวงกุญแจก็จะถูกยกขึ้น น้ำหนักของพวงกุญแจคือแรงดึงให้ดินสอวิ่งเป็นวงกลมนั่นเอง เนื่องจากดินสอมีความเฉื่อย ดินสอไม่อยากจะวิ่งโค้งๆเพราะความเฉื่อยของมันทำให้มันอยากอยู่เฉยๆหรือวิ่งเป็นเส้นตรง เราต้องเอาน้ำหนักของพวกกุญแจมาเป็นแรงคอยดึงให้ดินสอวิ่งเป็นวงกลม


การทดลองสุดท้ายก็คือให้เด็กๆนั่งบนรถของเล่น แล้วทำการผลักและหยุดรถ ให้เด็กๆรู้สึกถึงการที่ตัวของเขาพยายามจะอยู่เฉยๆเมื่อรถถูกผลัก และรู้สึกว่าตัวของเขาพยายามเคลื่อนที่ไปข้างหน้าเมื่อรถถูกหยุด นอกจากนี้เราก็ให้เด็กๆลองเลี้ยวเมื่อรถวิ่ง เด็กก็จะรู้สึกว่าตัวเขาจะตกจากรถเพราะตัวเขาพยายามวิ่งไปข้างหน้าในทิศทางเดิม ขณะที่รถเลี้ยวไปอีกทาง สาเหตุที่รถวิ่งเร็วแล้วพลิกคว่ำก็อาจจะเกิดจากการเลี้ยวกระทันหันอย่างนี้เช่นกัน เพราะตัวรถพยายามจะวิ่งไปตรงๆตามเดิม แต่พอล้อเลี้ยวกระทันหัน รถก็เกิดอาการเอียงตัวแล้วเอาข้างวิ่ง ทำให้พลิกคว่ำนั่นเอง




สำหรับเด็กอนุบาลสาม ผมก็ให้เด็กๆทดลองดึงกระดาษให้เหรียญตกลงในถ้วยกัน เด็กๆตั้งใจทำมากและส่วนใหญ่จะทำได้สำเร็จกัน เป็นที่ยินดีของเด็กๆกัน เด็กๆอนุบาลสองไม่ได้ทำการทดลองในวันนี้เพราะเด็กๆต้องเตรียมงานนิทรรศการกันครับ

Tuesday, December 07, 2010

เล่นกับการหมุน

ถ้าท่านอ่านอีเมล์แล้วไม่เห็นรูปหรือวิดีโอ เข้าไปดูที่เว็บ http://kostuff.blogspot.com/ นะครับ

(คราวที่แล้วเรื่องเอาแรงโน้มถ่วงมาเล่นที่นี่ครับ)


วันนี้เป็นอีกวันอังคารที่ผมได้เข้าไปทำการทดลองวิทยาศาสตร์กับเด็กๆกลุ่มบ้านเรียนปฐมธรรมและเด็กๆอนุบาลบ้านพลอยภูมิครับ ตอนแรกผมจะทำการทดลองเรื่องโคมไฟลอยที่เห็นในงานวันที่ 5 ธันวา แต่หลังจากทดลองด้วยต้วเองแล้วทำโคมไหม้ไฟจึงเปลี่ยนแผนครับ กลายเป็นว่าคราวนี้เราทำการทดลองเกี่ยวกับการหมุนสองสามอย่าง

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

ผมหาแม่เหล็กทรงกลมลูกเล็กๆมาให้เด็กทดลองเล่น ถ้าเอาแม่เหล็กสองลูกกลิ้งเข้าหากันตรงๆ แม่เหล็กจะวิ่งชนกัน สถานการณ์นี้ก็จะเหมือนอุกกาบาตชนกับโลก ถ้าเอาแม่เหล็กวิ่งผ่านเฉียงๆกัน แม่เหล็กก็จะวิ่งโค้งเข้าหากันได้โดยไม่ชนกัน ทั้งๆที่แม่เหล็กดูดกัน

จากนั้นผมก็เล่าว่ากฏของธรรมชาติมีอยู่ข้อหนึ่งที่ว่า "ปริมาณการหมุน" หรือ "โมเมนตัมเชิงมุม" นั้นจะคงที่เสมอถ้าไม่มีใครไปบิดให้การหมุนเปลี่ยนไป (Conservation of angular momentum) ปริมาณการหมุนนั้น เท่ากับผลคูณของ น้ำหนัก (ความจริงคือมวล) กับ ความเร็วในการหมุน กับ ระยะทาง(ที่ตั้งฉากกับทิศทางการเคลื่อนที่)จากจุดหมุน (รายละเอียดพวกนี้ เด็กๆต้องไปศึกษาเพิ่มเติมในวิชาฟิสิกส์ในอนาคตครับ) ถ้าของอะไรบางอย่างกำลังหมุนรอบๆจุดหนึ่งแล้วอยู่ๆระยะทางถึงจุดหมุนลดลง ของนั้นๆก็ต้องหมุนรอบๆจุดหมุนให้เร็วขึ้นเพื่อชดเชยให้ปริมาณการหมุนคงที่ ความจริงข้อนี้เราจะเห็นได้จากนักเล่นสเกตน้ำแข็งที่หมุนตัวเร็วขึ้นเมื่อหุบแขนขา และหมุนช้าลงเมื่อกางแขนกางขา

จากนั้นเราก็ทำการทดลองสามอย่างเป็นตัวอย่างของกฏธรรมชาติข้อนี้กัน

อันแรก เรากลิ้งลูกแม่เหล็กกลมให้เฉียดๆกัน บางครั้งแม่เหล็กจะดูดติดกันและหมุนอย่างเร็วมากอยู่เป็นเวลาหลายวินาที ผมบอกว่าถ้าเราทำการทดลองนี้ในอวกาศที่ไม่มีแรงต้านจากอากาศ และไม่มีความฝืดจากพื้น แม่เหล็กทั้งสองจะหมุนไปเรื่อยๆนานๆ เหมือนกับการที่โลกที่เกิดจากฝุ่นผงที่ดึงดูดมาติดกันแล้วหมุนมาเป็นเวลา 4-5 พันล้านปีแล้ว เหมือนกับดาวต่างๆ ดวงจันทร์ทั้งหลายหมุนรอบตัวไปเรื่อยๆไม่ยอมหยุดเสียที



การทดลองที่สองคือการทำพายุทอร์นาโดในขวด ของเล่นนี้ทำจากการเอาขวดพลาสติกขนาด 1.5 ลิตรสองขวดมาต่อกันที่ปากขวด (โดยใส่นำ้เข้าไปก่อนจะติดขวดเข้าด้วยกัน) วิธีทำก็คือแกว่งขวดแล้วปล่อยให้น้ำไหลเป็นเกลียว ถ้าเราสังเกตความเร็วของน้ำ เราจะเห็นว่าน้ำที่อยู่ขอบๆจะวิ่งช้ากว่าน้ำที่ใกล้ศูนย์กลาง



การทดลองนี้เป็นแบบจำลองของการเกิดพายุหมุนได้ เนื่องจากพายุหมุนจะเกิดขึ้นในบริเวณที่อากาศร้อนลอยขึ้นขณะที่อากาศเย็นตกลง มวลอากาศสามารถวิ่งเข้าหากันแล้วกลายเป็นเกลียวหรืองวงได้



การทดลองที่สามก็คือการให้เด็กๆนั่งเก้าอี้หมุน โดยตอนแรกให้เด็กๆเหยียดขาไว้ก่อน แล้วพอหมุนเก้าอี้ก็ให้เด็กๆหดขาเข้ามา ทำให้เก้าอี้หมุนเร็วขึ้น จากนั้นก็ให้เด็กๆหดขาแล้วหมุนเก้าอี้ เมื่อเด็กๆเหยียดขา เก้าอี้ก็จะหมุนช้าลง





สำหรับเด็กอนุบาล ผมก็ทำการทดลองที่หนึ่งและสองให้ดู แล้วให้เด็กๆเข้าร่วมทำการทดลองที่สามเป็นที่กิ๊วก๊าวกันอย่างยิ่ง