วิธีแก้ระบบสมการไม่เชิงเส้นใน MATLAB

Withi Kae Rabb Smkar Mi Cheing Sen Ni Matlab



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

คู่มือนี้จะสอนเราถึงวิธีการคำนวณคำตอบของระบบสมการไม่เชิงเส้นใน MATLAB โดยใช้ fsolve() การทำงาน.

จะแก้ระบบสมการไม่เชิงเส้นใน MATLAB ได้อย่างไร?

เดอะ fsolve() เป็นฟังก์ชันในตัวใน MATLAB ที่ใช้สำหรับแก้ปัญหา ระบบสมการไม่เชิงเส้น ด้วยตัวแปรหลายตัว ถ้าจำนวนของสมการเท่ากับจำนวนที่ไม่รู้จัก คำตอบของระบบ สมการไม่เชิงเส้น จะเป็นตัวเลข; มิฉะนั้นคำตอบจะเป็นสัญลักษณ์ในรูปของตัวแปรที่ต้องการ ตัวแปรแต่ละตัวใน ระบบสมการไม่เชิงเส้น สามารถมีหนึ่งหรือหลายโซลูชั่นตามลำดับของมัน







ไวยากรณ์

เดอะ fsolve() ฟังก์ชันเป็นไปตามไวยากรณ์อย่างง่ายเพื่อแก้ปัญหา ระบบสมการไม่เชิงเส้น ใน MATLAB





x = fsolve ( สนุก x0 )
x = fsolve ( สนุก x0 ตัวเลือก )

ที่นี่:



ฟังก์ชั่น x = fsolves (สนุก, x0) แก้ระบบสมการไม่เชิงเส้นโดยเริ่มจากจุด x0 .











ฟังก์ชั่น x = fsolves (ความสนุก, x0, ตัวเลือก) แก้ระบบสมการแบบไม่เชิงเส้นโดยใช้วิธีการเพิ่มประสิทธิภาพที่ระบุไว้ในตัวเลือก

บันทึก: ตัวเลือกตามค่าเริ่มต้นจะใช้ นิวตัน แรพสัน วิธีการคำนวณคำตอบของระบบสมการไม่เชิงเส้น คุณสามารถระบุเมธอดอื่นๆ เช่น ภูมิภาคที่เชื่อถือ Levenberg-Marquardt , และคนอื่น ๆ.



ตัวอย่าง

ทำตามตัวอย่างที่กำหนดเพื่อเรียนรู้วิธีแก้ระบบสมการไม่เชิงเส้นโดยใช้ fsolve() ฟังก์ชั่นใน MATLAB

ตัวอย่างที่ 1: การแก้สมการไม่เชิงเส้น 2 สมการใน MATLAB

ตัวอย่างแรกสร้างฟังก์ชัน MATLAB ที่ผู้ใช้กำหนดชื่อ nonlinear_system ที่มีระบบสมการไม่เชิงเส้นสองสมการ

การทำงาน F = nonlinear_system ( x )
( 1 ) = ประสบการณ์ ( ตร.ว ( ( x ( 1 ) + x ( 2 ) ) ) ) - x ( 2 ) * ( 1 + ตร.ว ( x ( 1 ) ) ) ;
( 2 ) = x ( 1 ) * ปราศจาก ( x ( 2 ) ) + x ( 2 ) * เพราะ ( x ( 1 ) ) - 0.1 ;

ตอนนี้เราเรียกใช้ฟังก์ชันในไฟล์สคริปต์อื่นเพื่อแก้ระบบสมการไม่เชิงเส้นที่กำหนดไว้โดยใช้ fsolve(สนุก x0) ฟังก์ชันเริ่มต้นจากจุด x0 = (0, 0)

สนุก = @nonlinear_system;
x0 = [ 0 , 0 ] ;
x = fsolve ( สนุก x0 )

ตัวอย่างที่ 2: การแก้สมการไม่เชิงเส้นโดยเริ่มจากจุด [-5,5]

ตอนนี้ให้พิจารณาระบบสมการที่กำหนดในไฟล์ฟังก์ชันที่ผู้ใช้กำหนด nonlinear_system.m และเรียกใช้ฟังก์ชันเพื่อแก้ระบบสมการไม่เชิงเส้นนั้นโดยเริ่มจากจุด x0 = [-5, 5] ใช้ fsolve() การทำงาน.

สนุก = @nonlinear_system;
x0 = [ - 5 , 5 ] ;
x = fsolve ( สนุก x0 )

สำหรับรายละเอียดเพิ่มเติม โปรดอ่านสิ่งนี้ แนะนำ .

บทสรุป

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