231 likes | 725 Views
ENE 206 MATLAB Laboratory. Lab 1: การใช้ฟังก์ชันและกราฟสำหรับแก้ปัญหาทางวิศวกรรม. การใช้ฟังก์ชันและกราฟสำหรับแก้ปัญหาทางวิศวกรรม. MATLAB มีฟังก์ชันช่วยในการคำนวณต่าง ๆ ตลอดจนฟังก์ชันช่วยในการสร้างกราฟเพื่อแสดงฟังก์ชันคณิตศาสตร์ทั้งแบบ 2 มิติและ 3 มิติ
E N D
ENE 206 MATLAB Laboratory Lab 1: การใช้ฟังก์ชันและกราฟสำหรับแก้ปัญหาทางวิศวกรรม
การใช้ฟังก์ชันและกราฟสำหรับแก้ปัญหาทางวิศวกรรมการใช้ฟังก์ชันและกราฟสำหรับแก้ปัญหาทางวิศวกรรม • MATLAB มีฟังก์ชันช่วยในการคำนวณต่าง ๆ ตลอดจนฟังก์ชันช่วยในการสร้างกราฟเพื่อแสดงฟังก์ชันคณิตศาสตร์ทั้งแบบ 2 มิติและ 3 มิติ • ตัวอย่างที่จะกล่าวถึงต่อไปนี้ เป็นการใช้งานฟังก์ชันเกี่ยวกับกราฟ และฟังก์ชันช่วยคำนวณเพื่อใช้แก้ปัญหาทางวิศวกรรมไฟฟ้า เช่นวงจรไฟฟ้าอย่างง่าย
การวิเคราะห์วงจรไฟฟ้าด้วย MATLAB • การวิเคราะห์วงจรไฟฟ้าที่มีอุปกรณ์ไฟฟ้าแบบไม่เชิงเส้น (Non-linear)นั้นโดยทั่ว ๆ ไปสามารถกระทำได้ 2 วิธี • การวิเคราะห์แบบประมาณ (approximate analysis) • เป็นการวิเคราะห์โดยประมาณอุปกรณ์ไฟฟ้าแบบไม่เชิงเส้นด้วยความสัมพันธ์เชิงเส้นแบบง่าย ๆ เพื่อลดความซับซ้อนในการคำนวณและสามารถคำนวณด้วยมือได้ • การวิเคราะห์ด้วยแบบจำลองทฤษฏี (theoretical analysis) • เป็นการวิเคราะห์ด้วยการหาความสัมพันธ์ของปริมาณทางไฟฟ้าทางทฤษฏีของอุปกรณ์ไฟฟ้านั้น ๆ เช่น ความสัมพันธ์ระหว่างแรงดัน และกระแสไฟฟ้า • ความสัมพันธ์ดังกล่าวมักได้จากการผลทดลองจริง โดยจะมีการหาความสัมพันธ์ในรูปของสมการทางคณิตศาสตร์ต่าง ๆ • ผลการวิเคราะห์มีความแม่นยำมากขึ้น แต่จะมีความซับซ้อนกว่าการวิเคราะห์แบบประมาณ
การวิเคราะห์วงจรไฟฟ้าด้วยแบบจำลองทฤษฏีการวิเคราะห์วงจรไฟฟ้าด้วยแบบจำลองทฤษฏี • การวิเคราะห์วงจรไฟฟ้าด้วยกราฟเส้นโหลด (Load line analysis) • เป็นวิธีที่นำมาใช้กับวงจรไฟฟ้าที่มีอุปกรณ์ไม่เชิงเส้น เนื่องจากสามารถอธิบายอย่างง่าย ๆ ด้วยกราฟได้ • หลักการการวิเคราะห์วงจรไฟฟ้าได้วยกราฟเส้นโหลดมีดังนี้ • หาความสัมพันธ์ระหว่างกระแส และแรงดันไฟฟ้าของอุปกรณ์ไม่เชิงเส้นนั้น • ใช้กฏของเคอร์ชอฟ (Kerchhoff)สร้างสมการความสัมพันธ์ของกระแส และแรงดันของวงจรที่กำลังวิเคราะห์ • คำตอบของกระแส หรือแรงดันของอุปกรณ์ไม่เชิงเส้นที่กำลังวิเคราะห์คือ จุดตัดระหว่างกราฟทั้งสอง
การวิเคราะห์วงจรไฟฟ้าด้วยกราฟเส้นโหลดการวิเคราะห์วงจรไฟฟ้าด้วยกราฟเส้นโหลด • ตัวอย่างที่นำอุปกรณ์ไฟฟ้าไม่เชิงเส้นมาใช้ในวงจรไฟฟ้าเพื่อวิเคราะห์อย่างง่าย คือวงจรไดโอด • จุดตัดของ characteristic equation และ load line จะเป็นจุดสงบ (Q-point) ของวงจร ซึ่งเป็นจุดกำหนดค่า กระแสและแรงดันของวงจร
การใช้ MATLAB สำหรับการวิเคราะห์วงจรไฟฟ้าด้วยกราฟเส้นโหลด • การใช้ MATLAB สร้างกราฟที่ได้จากการวิเคราะห์วงจรไฟฟ้า • การใช้ฟังก์ชันช่วยคำนวณของ MATLAB หาจุดตัดกราฟ
ตัวอย่างการวิเคราะห์วงจรไฟฟ้าตัวอย่างการวิเคราะห์วงจรไฟฟ้า จากรูปข้างบนแสดงระบบวงจรไฟฟ้าที่ประกอบไปด้วยแหล่งจ่ายไฟฟ้าคงที่ 15 Volts ที่มีความต้านทานภายใน R1 เท่ากับ 30 Ωเข้ากับโหลด แหล่งจ่ายให้กระแสกับโหลดโดยมีความสัมพันธ์ระหว่างกระแสและแรงดันของโหลดดังนี้ จงหาค่ากระแสที่แหล่งจ่ายจะต้องจ่ายให้กับโหลด ตลอดจนแรงดันที่ตกคร่อมโหลดในวงจร V2
การแก้ปัญหาวงจรไฟฟ้าด้วยวิธีกราฟเส้นโหลดการแก้ปัญหาวงจรไฟฟ้าด้วยวิธีกราฟเส้นโหลด • ความสัมพันธ์ของกระแสและแรงดันของโหลดจากที่โจทย์กำหนดให้ ทำให้เราจำเป็นต้องทราบค่าของกระแส หรือแรงดันค่าใดค่าหนึ่ง ในการที่จะคำนวณหาค่าทางไฟฟ้าที่เหลือตามที่โจทย์ต้องการ • แนวทางการแก้ปัญหาข้อนี้แบ่งออกเป็น • การสร้างความสัมพันธ์ของกระแส และแรงดันจากวงจรไฟฟ้าที่กำหนดเป็นกราฟเส้นโหลด (load line) • การหาคำตอบของค่ากระแส และแรงดันจากความสัมพันธ์ที่ได้จากโจทย์ และกราฟเส้นโหลด ด้วย MATLAB
สมการเส้นโหลด ด้วยการใช้กฏของเคอร์ชอฟกับรูปวงจรที่โจทย์กำหนด จะได้ จัดรูปสมการใหม่ได้ เป็นสมการเส้นตรงที่ได้จากวงจร หรือที่เรียกว่า กราฟเส้นโหลด (load line)ซึ่งเป็นกราฟแสดงความสัมพันธ์ของกระแส และแรงดันของโหลดในวงจรเช่นเดียวกัน i1
การใช้ MATLAB วิเคราะห์ด้วยกราฟ • ดังนั้น เราจะได้ว่าค่าของกระแส และแรงดันที่ของวงจรต้องสอดคล้องกับความสัมพันธ์ระหว่างกระแส และแรงดันที่ได้ทั้งสองสมการ • เนื่องจากสมการความสัมพันธ์ระหว่างกระแส และแรงดันของโหลดจากโจทย์มีความสัมพันธ์แบบไม่เชิงเส้น (เอ็กโพเนนเชียล) จึงไม่เป็นการง่ายที่จะแก้สมการทั้งสองด้วยการคำนวณมือ • อย่างไรก็ดี เราสามารถหาคำตอบของสมการทั้งสอง จากการวาดกราฟ และหาจุดตัดระหว่างกราฟทั้งสอง
การใช้ MATLAB วิเคราะห์ด้วยกราฟ • MATLAB สามารถแสดงกราฟทั้งสองสมการลงบนแกนร่วมกันโดยอาศัยคำสั่ง plot • โดยค่าของแกนนอนจะเป็นค่าแรงดัน ซึ่งกำหนดเป็นเวคเตอร์ที่มีค่าจาก 0 ถึง 15 V • ค่าของแกนตั้งจะเป็นค่ากระแส ซึ่งกำหนดเป็นเวคเตอร์ที่มีขนาดตามเวคเตอร์แรงดัน และมีจำนวนเวคเตอร์ 2 ชุด เนื่องจากเป็นค่ากระแสของสมการกราฟเส้นโหลด และค่ากระแสของโหลดจากโจทย์
การใช้ MATLAB วิเคราะห์ด้วยกราฟ • จากรูปแสดงกราฟทั้งสองสมการที่แสดงบนแกนร่วมกัน จะได้ว่าจุดตัดแกนมีค่ากระแสอ่านได้เท่ากับ 0.25 A และแรงดัน V2เท่ากับ 7.5 V โดยประมาณ • ในการหาค่าที่แม่นยำมากขึ้น สามารถกระทำได้โดย การใช้ MATLAB เพื่อหาจุดตัดจากการแก้ สมการทั้งสองด้วยการคำนวณ
การใช้ฟังก์ชันช่วยคำนวณของ MATLAB หาจุดตัดกราฟ • MATLAB มีฟังก์ชันช่วยคำนวณ เพื่อหาจุดตัดแกนนอน (จุดที่ฟังก์ชันมีค่าเท่ากับศูนย์) ซึ่งสามารถนำมาประยุกต์ใช้ในการหาจุดตัดกราฟ กับการวิเคราะห์วงจรไฟฟ้าอย่างง่ายนี้ได้ • ฟังก์ชัน roots คำนวณจุดตัดแกนนอนของฟังก์ชันโพลิโนเมียลเท่านั้น • ฟังก์ชัน fzeroสามารถคำนวณจุดตัดแกนนอนของฟังก์ชันตัวแปรเดียวใด ๆ • รูปแบบการใช้งานของ fzero fzero(‘function’, x0) • function เป็น string ของชื่อฟังก์ชันที่ต้องการหาจุดตัดแกนนอน • x0 เป็นจุดเริ่มต้นสำหรับฟังก์ชัน fzeroในการค้นหาจุดตัดแกนนอนที่ใกล้ที่สุด
ตัวอย่างการใช้งานฟังก์ชัน fzero สมมติให้เราต้องการหาค่า x ที่ทำให้ฟังก์ชัน มีค่าเป็นศูนย์ โดยใช้ฟังก์ชัน fzero ดังนั้นเราอาจให้ฟังก์ชัน fzeroหาจุดที่ทำให้ฟังก์ชันดังกล่าวเป็นศูนย์ โดยให้ค่าเริ่มต้นของการค้นหา x0 เป็น -0.5 ได้ดังนี้ x = fzero(‘x + 2*exp(-x) – 3’, -0.5) ซึ่งจะได้คำตอบเป็น x = -0.5831
ตัวอย่างการใช้งานฟังก์ชัน fzero ในกรณีที่ฟังก์ชันที่เราต้องการหาค่าศูนย์มีความซับซ้อนมากขึ้น การพิมพ์ฟังก์ชันเป็นอินพุต ของฟังก์ชัน fzeroอาจไม่เหมาะสม เรามักใช้การกำหนดฟังก์ชันเป็นไฟล์แยกต่างแทน ดังนี้ function y = f1(x) y = x + 2*exp(-x) – 3; แล้วใช้ชื่อฟังก์ชันที่สร้างขึ้นเป็นอินพุตของฟังก์ชัน fzero x = fzero(‘f1’, -0.5) ซึ่งจะได้คำตอบเช่นเดียวกันกับตัวอย่างในหน้าที่แล้ว
ข้อพึงระวังของการใช้ฟังก์ชัน fzero ปัญหาหนึ่งในการใช้ฟังก์ชัน fzero ที่พบบ่อย ๆ คือการกำหนดจุดเริ่มต้น x0 ของการหาค่าศูนย์ของฟังก์ชัน ดังนั้นเราจึงควรจะใช้การวาดกราฟเข้าช่วยในการกำหนดจุดเริ่มต้น โดยพิจารณาจากกราฟของฟังก์ชัน จะเห็นได้ว่ามีจุดตัดศูนย์อยู่ 2 จุด ดังนั้น หากต้องการหาจุดตัดศูนย์ ณ บริเวณ x = 3 ให้ใช้ x = fzero(‘f1’, 3) ซึ่งจะได้คำตอบเป็น x = 2.8887
การใช้ฟังก์ชันช่วยคำนวณของ MATLAB หาจุดตัดกราฟ • ในการที่จะใช้ฟังก์ชัน fzero ช่วยในการวิเคราะห์หาคำตอบของวงจรไฟฟ้าที่กำหนดให้มา เราจำเป็นต้องจัดการรวมสมการทั้งสองให้เป็นสมการตัวแปรเดียว ดังนี้ • ดังนั้น เราจึงสร้างฟังก์ชันตัวแปรเดียวทางด้านขวามือ สำหรับเป็นฟังก์ชันที่ใช้ใน fzeroโดยอาจให้จุดเริ่มต้น x0เท่ากับศูนย์ เพื่อหาคำตอบค่าแรงดัน v2และคำนวณค่ากระแส i1ของโหลดต่อไปได้
แบบฝึกหัด จากคำอธิบายดังกล่าว จงสร้าง MATLAB script เพื่อหาคำตอบของค่ากระแส และแรงดันที่โหลดต้องใช้ด้วย • การวิเคราะห์ด้วยกราฟ โดยให้แสดงคำตอบโดยประมาณจากการอ่านค่าจุดตัดของกราฟทั้งสอง • การวิเคราะห์ด้วยฟังก์ชันช่วยคำนวณ โดยให้แสดงคำตอบจากการคำนวณดัวยฟังก์ชันช่วยคำนวณ เปรียบเทียบกับการวิเคราะห์ด้วยกราฟ
ENE 206 MATLAB Laboratory Lab 2: การใช้ MATLAB สำหรับการสร้างแบบจำลองเพื่อวิเคราะห์
การใช้ MATLAB สำหรับการสร้างแบบจำลองเพื่อวิเคราะห์