Category Archives: Mathematica

ตัวอย่างการวาดกราฟข้อมูลและเส้นตรงที่ฟิตกับข้อมูลด้วย Mathematica

โหลดไฟล์นี้ไปใช้กับ Mathematica ได้ครับ ทดลองดัดแปลงดูนะครับ

เปิดขึ้นมาหน้าตาจะเป็นแบบนี้:

กราฟนี้มาจากการทดลองหาจุดเดือดของสารละลายเกลือแกง (NaCl) ในน้ำประปาที่ความเข้มข้นต่างๆกัน พบว่าจุดเดือดเพิ่มขึ้นตามปริมาณเกลือแกงครับ เป็นการแสดงคุณสมบัติคอลลิเกทีฟอย่างหนึ่งของสารละลาย

หวยล็อก รถนายก ความน่าจะเป็น และ Bayesian Inference

 

มีเพื่อนใน Facebook แชร์ลิงค์จาก ThaiPublica ว่าเลขทะเบียนรถนายกตรงกับหวย 8 งวดจาก 63 งวด  (ทั้งหมดเป็นเลขท้ายสองและสามตัว หรือเลขท้ายรางวัลที่ 1) แปลว่าน่าจะมีการล็อคหรือไม่

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

รายละเอียดการคำนวณอยู่ที่ http://www.atriumtech.com/ko/mathematica/PooLottery/ ครับ

ตัวอย่างการใช้ Mathematica ช่วยนับของให้ครับ

ที่หน้าคณิตศาสตร์นอกกะลา (https://www.facebook.com/mathsforlife32) มีคำถามว่า “มีช่องสี่เหลี่ยมจำนวน 6 ช่อง เรียงเป็นแนวเส้นตรง ถ้าต้องการทาสีช่องเหล่านี้ด้วยสีแดง สีขาว หรือสีดำ โดยจะทาสีแดงในช่องที่ติดกันไม่ได้ จงหาว่าจะมีวิธีทาสีได้ทั้งหมดกี่แบบ”

เนื่องจากผมขี้เกียจคิดผมเลยให้ Mathematica นับให้ดังนี้ครับ:

colors = {“R”, “W”, “B”} (*สีมีสามสี R, W, B*)
all = Tuples[colors, 6] (*ตอนนี้เอาสีมาทาเรียงกันหกตำแหน่ง*)
Length[all] (*จำนวนแบบของการทาสีทั้งหมด = 729*)
rr = Cases[all, {___, “R”, “R”, ___}] (*เลือกแบบที่มีสีแดงติดกัน*)
Length[rr] (*จำนวนแบบของการทาสีที่มีสีแดงติดกัน = 281 *)

ดังนั้นจำนวนการทาสีที่สีแดงไม่ติดกัน = 729 – 281 = 448

ถ้าจะดูว่าวิธีทาสีแบบสีแดงไม่ติดกันมีอย่างไรบ้างก็ใช้คำสั่งนี้ครับ:

Intersection[all, Complement[all, rr]] (*หาเซ็ท all – rr*)

ถ้าไม่มี Mathematica ก็เข้าไปใช้ Mathics (http://www.mathics.net/) ได้นะครับ Mathics เป็นโปรแกรมเสรี ฟรี ใช้คำสั่งเหมือนๆ Mathematica

วัดความถี่เสียงด้วยไมโครโฟน คอมพิวเตอร์ และโปรแกรม Spectrum Analyzer และเล่นแก้วน้ำร้องเพลงกับเด็กอนุบาล

 

อัลบั้มภาพการเรียนการสอนอยู่ที่นี่ครับ

ถ้าสงสัยว่าไม่เห็นรูปหรือวิดีโอ เข้าไปดูที่เว็บ http://witpoko.com/ นะครับ ส่วนใหญ่ถ้าอ่านในเมล์จะไม่เห็นวิดีโอครับ

(คราวที่แล้วเรื่อง “ดูการ์ตูนการแกว่งลูกตุ้ม ดูสะพานแขวนพัง และเล่นแก้วน้ำร้องเพลง” ครับ)

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

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

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

ดูการ์ตูนการแกว่งลูกตุ้ม ดูสะพานแขวนพัง และเล่นแก้วน้ำร้องเพลง

 

อัลบั้มภาพการเรียนการสอนอยู่ที่นี่ครับ

ถ้าสงสัยว่าไม่เห็นรูปหรือวิดีโอ เข้าไปดูที่เว็บ http://witpoko.com/ นะครับ ส่วนใหญ่ถ้าอ่านในเมล์จะไม่เห็นวิดีโอครับ

(คราวที่แล้วเรื่อง “(พยายาม)ติดตั้งลูกตุ้มความยาวต่างๆให้มันแกว่งสวยๆ” ครับ)

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

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

วิดีโอข้างบนคือภาพลูกตุ้มความยาวขนาดต่างๆกันที่แกว่ง 51, 52, 53, … , 65 คร้้งต่อหน่วยเวลาใช้คำสั่ง Mathematica วาดดังนี้ครับ:

Animate[
 Show[
  Graphics[Line[{{-Pi/10, 0}, {Pi/10,0}, {Pi/10, -0.4}, {-Pi/10, -0.4}, {-Pi/10,0}}]],
  Graphics[Flatten[
    Table[{Disk[9.8/(2 Pi k/60)^2 {Sin[Pi/10 Cos[2 Pi k/60 t]], -Cos[Pi/10 Cos[2 Pi k/60 t]]},0.01],
      Line[{{0, 0},9.8/(2 Pi k/60)^2 {Sin[Pi/10 Cos[2 Pi k/60 t]], -Cos[Pi/10 Cos[2 Pi k/60 t]]}}]}, {k, 51, 65}]]
   ]
  ]
 , {t, 0, 60}]

เนื่องจากเราสามารถสั่งให้คอมพิวเตอร์วาดให้ดูได้ง่ายๆ เราก็เลยเพิ่มจำนวนลูกตุ้มเป็น 70 ลูกเสียเลย: Continue reading ดูการ์ตูนการแกว่งลูกตุ้ม ดูสะพานแขวนพัง และเล่นแก้วน้ำร้องเพลง