כיצד לפתור מערכת של משוואות לא ליניאריות ב-MATLAB

Kyzd Lptwr M Rkt Sl Msww Wt L Lyny Rywt B Matlab



משוואות לא ליניאריות הם סוגי משוואות העוקבים אחר הגרף היוצרים עקומות וצורות לא ליניאריות. פתרון מערכת משוואות כזו היא בעיה נפוצה איתה מתמודדים מהנדסים ומדענים. הסיבה העיקרית מאחורי פתרון משוואות מסוג זה נובעת מהמורכבות שלהן במציאת הפתרון המדויק. ייתכן שתמצא מספר פתרונות או במקרים מסוימים, לא קיים פתרון. MATLAB מספקת לנו דרכים שונות לפתרון מערכת המשוואות הלא ליניאריות. אחד מהם הוא שימוש במכשיר מובנה fsolve() פוּנקצִיָה.

מדריך זה ילמד אותנו כיצד לחשב את הפתרון של מערכת המשוואות הלא ליניאריות ב- MATLAB באמצעות fsolve() פוּנקצִיָה.

כיצד לפתור את מערכת המשוואות הלא ליניאריות ב- MATLAB?

ה fsolve() היא פונקציה מובנית ב- MATLAB המשמשת לפתרון א מערכת משוואות לא ליניאריות עם מספר משתנים. אם מספר המשוואות זהה למספר הלא ידועים, הפתרון של מערכת של משוואות לא ליניאריות יהיה מספרי; אחרת, הפתרון יהיה סמלי מבחינת המשתנה הרצוי. כל משתנה ב- מערכת משוואות לא ליניאריות יכול לקבל פתרון אחד או יותר על סמך הסדר שלו.







תחביר

ה fsolve() הפונקציה עוקבת אחר תחביר פשוט לפתרון א מערכת משוואות לא ליניאריות ב-MATLAB.





x = fsolve ( כיף, x0 )
x = fsolve ( כיף,x0,אפשרויות )

כאן:



הפונקציה x = fsolves(כיף, x0) פותר את מערכת המשוואות הלא ליניאריות החל מנקודה x0 .











הפונקציה x = fsolves(fun, x0, options) פותר את מערכת המשוואות הלא ליניארית באמצעות שיטות אופטימיזציה המפורטות באפשרויות.

הערה: האפשרויות כברירת מחדל משתמשות ב- ניוטון רפסון שיטה לחישוב פתרונות של מערכות של משוואות לא ליניאריות. אתה יכול לציין שיטות אחרות, כגון אזור אמון, לבנברג-מרקורדט , ואחרים.



דוגמאות

עקוב אחר הדוגמאות שניתנו כדי ללמוד כיצד לפתור מערכת של משוואות לא ליניאריות באמצעות ה fsolve() פונקציה ב- MATLAB.

דוגמה 1: פתרון 2 משוואות לא-לינאריות ב-MATLAB

הדוגמה הנתונה יוצרת תחילה פונקציה המוגדרת על ידי MATLAB בשם מערכת_לא לינארית המכיל את המערכת של שתי משוואות לא ליניאריות.

פוּנקצִיָה F = מערכת_לא לינארית ( איקס )
ו ( 1 ) = exp ( sqrt ( ( איקס ( 1 ) +x ( 2 ) ) ) ) - איקס ( 2 ) * ( 1 + sqrt ( איקס ( 1 ) ) ) ;
ו ( 2 ) = x ( 1 ) * לְלֹא ( איקס ( 2 ) ) + x ( 2 ) * חַסַת עָלִים ( איקס ( 1 ) ) - 0.1 ;

כעת אנו קוראים לפונקציה בקובץ סקריפט אחר כדי לפתור את המערכת המוגדרת של משוואות לא ליניאריות באמצעות ה fsolve(כיף, x0) פונקציה החל מהנקודה x0 = (0, 0).

fun = @nonlinear_system;
x0 = [ 0 , 0 ] ;
x = fsolve ( כיף, x0 )

דוגמה 2: פתרון משוואות לא ליניאריות החל מנקודה [-5,5]

כעת שקול את מערכת המשוואות המוגדרת בקובץ הפונקציות המוגדרות על ידי המשתמש nonlinear_system.m וקרא לפונקציה כדי לפתור את מערכת המשוואות הלא ליניאריות החל מהנקודה x0 = [-5, 5] משתמש ב fsolve() פוּנקצִיָה.

fun = @nonlinear_system;
x0 = [ - 5 , 5 ] ;
x = fsolve ( כיף, x0 )

לפרטים נוספים, קרא את זה להנחות .

סיכום

פתרון מערכת של משוואות לא ליניאריות הוא הבעיה הנפוצה ביותר במתמטיקה ובהנדסה. MATLAB מספקת לנו מובנה fsolve() פונקציה המאפשרת לנו לפתור מערכת של משוואות לא ליניאריות. מדריך זה כיסה את היסודות של פתרון מערכות של משוואות לא ליניאריות שיעזרו למתחילים להבין את העבודה של fsolve() פונקציה ב- MATLAB.