หน้าเว็บ คืออะไร? รับลิงก์ Facebook X Pinterest อีเมล แอปอื่นๆ ใครที่คลิกเข้ามาอ่าน อย่าเพิ่งตั้งความหวังอะไรนะครับ ผมไม่ได้จะมาเขียนอธิบายว่าหน้าเว็บ คืออะไร แต่ผมก็งงเหมือนกันว่ามันคืออะไร แล้วมันจะไปโผล่ตรงไหนในบล็อก ก็เลยทดสอบสร้างหน้าเว็บขึ้นมาเฉยๆ สารงสาระ อะไรไม่มีหรอกครับ 55555+ รับลิงก์ Facebook X Pinterest อีเมล แอปอื่นๆ
การแก้สมการ Differential ด้วย MATLAB ถ้าใครเรียนด้านวิศวกรรม หรือ วิทย์คณิต หรือ ฟิสิกส์ ผมเชื่อว่าทุกคนคงจะเคยเจอสมการพวกนี้แน่นอน และสมการพวกนี้ก็จะยิ่งยุ่งยากซับซ้อนขึ้นไปเรื่อยๆ จนเราไม่สามารถแก้สมการด้วยมือได้ ยกตัวอย่างเช่น สมการของ error ฟังก์ชัน ถ้าใครจำได้สมัยเรียนอาจารย์จะแจกเป็นตารางมาให้เลย โดยที่เราไม่ต้องแก้สมการนี้ด้วยตัวเอง แต่เวลาเราใช้งานจริงๆ นั้น ไม่มีใครไปนั่งแก้สมการให้เสียเวลาหรอกครับ เพราะมันเสียเวลา และไม่รู้ว่าคำตอบที่ได้ออกมาจะถูกรึเปล่า ดังนั้นในการทำงาน หรือการทำวิจัย เราจะใช้ MATLAB เข้ามาช่วยแก้ปัญหาพวกนี้ให้แทนครับ ตัวอย่างเช่น ผมมีสมการ differential ที่ต้องการแก้อยู่ 3 สมการ ดังนี้ dy1/dt = y2*y3 dy2/dt = -y1*y3 dy3/dt = -0.51*y1*y2 โดยมีค่าเริ่มต้น (initial condition) ดังนี้ y1(0) = 0 y2(0) = 1 y3(0) = 1 ปกติแล้วค่าเริ่มต้นจะเป็นค่าใดก็ได้ เราแค่สุ่มเลือกมาใช้ก็พอ แต่....ก็ไม่ใช่ว่าทุกค่าจะใช้ได้ ซึ่งจริงๆ มันก็มีวิธีการเช็คว่าค่าไหนใช้ได้หรือไม่ได้ แต่ผมแนะนำให้เช็คด้วยการทดสอบจริงเลยง่ายกว่าครับ ค่าเริ่มต้นที่ไม่เหมาะสม จะทำให้สมการหาคำตอบไม่ได้ หรือคำตอบผิดเพี้ยน... อ่านเพิ่มเติม
ว่าด้วยเรื่องของ ERROR ในบทความก่อนหน้านี้ ผมได้อธิบายวิธีการดู error ใน MATLAB ไปแล้วนะครับ แต่ในการเขียนโปรแกรมระดับสูงนั้น error ไม่ได้มีแค่เท่าที่ตาเห็นนะครับ ซึ่งการแก้ไขก็จะยากขึ้นไปอีก ดังนั้นในบททความนี้ เราจะมาดูกันครับว่า error มันมีกี่ประเภท อะไรบ้าง ประเภทของ error ประเภทแรก เรียกว่า Compile error คือ error ที่เกิดตอนเวลาคอมไพล์โปรแกรม ซึ่งเกิดจากเราเขียนโค้ดไม่ถูกนั่นแหละครับ ก็แก้ด้วยการกลับไปเขียนให้ถูกซะ ประเภทที่สอง เรียกว่า Runtime error คือ error ที่เกิดตอนรันโปรแกรม บางคนอาจจะสงสัยว่า ถ้าคอมไพล์แล้วไม่ error โปรแกรมก็น่าจะถูกต้องแล้วหนิ ทำไมเวลารันถึงมี error อยู่อีกละ? ดังนั้นเราจะมาดูกันครับว่าถ้าโค้ดไม่ผิด ทำไมรันแล้วถึง error ได้ละ Runtime error มีแบบไหนบ้าง? 1. โปรแกรมทำงานได้ปกติ (คำนวณผลลัพธ์ออกมาได้) แต่คำตอบผิด เป็นเคสที่เกิดขึ้นบ่อยมากครับ (และคนที่เขียนก็ไม่รู้ตัวด้วยว่าผิด) ปัญหานี้เกิดจาก "มื่อใหม่" ที่ไม่เข้าใจความหมายของ "คำสั่ง" ดีพอ แล้วก็นำไปใช้แบบผิดๆ เช่น >> A = B.*C; >> D = B*C; หลายๆ คนไม่เข้าใจว่าการใช้ ดอท-คูณ (.*... อ่านเพิ่มเติม
การหาค่าเฉลี่ยโดยไม่ต้องเก็บค่า ทุกคนคงทราบอยู่แล้วว่าวิธีการหาค่าเฉลี่ยคือ เอาค่าทั้งหมดมาบวกกัน แล้วหารด้วยจำนวนทั้งหมด ดังสมการนี้ Avr = sum(X)/length(X) แต่ในทางปฎิบัติ เราสามารถเก็บค่าได้จำกัด เพราะว่าในขณะที่โปรแกรมกำลังทำงานอยู่ ข้อมูลในตัวแปรทุกตัวจะถูกเก็บเอาไว้ที่ RAM ซึ่งคอมทุกเครื่องมี RAM จำนวนจำกัด ดังนั้นหากเราเก็บข้อมูลไว้ในตัวแปรเยอะเกินไป ก็จะทำให้พื้นที่ RAM ไม่พอใช้งาน ซึ่งจะทำให้คอมพิวเตอร์ค้างได้ ถ้าเราไม่เก็บข้อมูลทุกตัวเอาไว้ แล้วเราจะคำนวณค่าเฉลี่ยได้ยังไงล่ะ? หลายๆ คนอาจจะกำลังคิดว่าน่าจะคำนวณแบบนี้ ค่าเฉลี่ย = (ค่าใหม่ + ค่าเก่า)/2 อย่างเช่น ค่าเฉลี่ยระหว่าง 1 กับ 2 ค่าเฉลี่ย = (2 + 1)/2 = 1.5 คำตอบก็ถูกต้อง วิธีนี้น่าจะใช้ได้นะ แต่มันใช้ได้จริงรึเปล่า เราลองมาทดสอบกับตัวอย่างอื่นดู เช่น ค่าเฉลี่ยระหว่าง 1 , 2 และ 3 AV1 = (1+2)/2 = 1.5 AV2 = (AV1+3)/2 = 2.25 จะเห็นว่าผลลัพธ์ไม่ถูกต้อง เพราะ AV = (1+2+3)/3 = 2 ดังนั้นวิธีการแบบนี้จึงใช้ไม่ได้ แล้ววิธีการที่ถูกต้องควรจะทำยังไงละ มาดูกันเลยครับ AV = AV - (AV/N) AV = AV + (X/N) โ... อ่านเพิ่มเติม