حل دستگاه دو معادله و دو مجهول (مثل $ \begin{aligned} \begin{cases} x+2y=7 \\ x-y=1 \end{cases} \end{aligned} $ )، با دستور solve ، در متلب (MATLAB)
دستور
solve
در متلب (MATLAB)، برای حل معادلات به کار می رود و چنانچه بخواهیم یک دستگاه چند معادله و چند مجهول را حل کنیم، باید معادلات را به دستور
solve
بدهیم تا این دستور، پاسخ دستگاه را محاسبه کند (
کلید شماره 28198 ).
بنابراین برای حل یک دستگاه دو معادله و دو مجهول، باید دو معادله مورد نظرمان را به دستور
solve
بدهیم.
دستور
solve
در نسخه های قدیمی متلب (MATLAB)، تعریف معادلات را به صورت ذکر شده در بین علامت های
'
دریافت می کرد (مثل کد
solve('x+2*y=7','x-y=1')
)، اما در نسخه های جدید متلب (MATLAB)، دیگر علامت
'
در تعریف معادله به کار نمی رود و به جای آن، از دستور
syms
برای تعریف متغیرها به صورت سمبلیک (Symbolic) و همچنین ازعلامت های
==
در تعریف معادله استفاده می شود (مثل کدهای
syms x y
و
solve(x+2*y==7, x-y==1)
).
با توجه به این نکته، این آموزش برای نسخه های جدید متلب (MATLAB) است، بنابراین اگر از نسخه های قدیمی متلب (MATLAB) استفاده می کنید، به جای این آموزش، کلید شماره 140 را بخوانید.
به مثال زیر توجه کنید :
فرض کنید بخواهیم دستگاه دو معادله و دو مجهول زیر را حل کنیم :
\[ \begin{aligned} \begin{cases} x+2y=7 \\ x-y=1 \end{cases} \end{aligned} \]
برای این منظور، با استفاده از دستور
syms
، متغیرها را به صورت سمبلیک (Symbolic) تعریف می کنیم و سپس دو معادله را درون پرانتز دستور
solve
می نویسیم. دقت کنید که به جای علامت
=
در معادله، باید علامت های
==
نوشته شوند :
3 خط اول کدها، برای عدم تداخل برنامه فعلی با برنامه های قبلی اجرا شده در متلب (MATLAB) می باشد.
دستور
S = solve(x + 2*y == 7, x - y == 1)
، دستگاه دو معادله و دو مجهول را حل می کند.
نتیجه :
می توانیم کد متلب (MATLAB) مورد نظر را به شکل دیگری نیز بنویسیم :