این طور که معلومه، دستور solve قادر نیست که معادله مورد نظر را حل کند. مثلا در کدهای متلب زیر، بنده معادله را در v تعریف کرده ایم، سپس دستور solve را به کار برده ام تا ببینم آیا می تواند آن را بر حسب M حل کند یا خیر (عبارت v را برابر صفر قرار می دهد و سعی می کند که M را بر حسب سایر متغیرها به دست آورد) :
حتی یک در حالتی دیگر، یک متغیر جدید هم تعریف کردم تا معادله ساده تر شود، اما تاثیری ندارد و باز هم معادله حل نمی شود.
نتیجه اجرای کد متلب بالا :
کد:
clear all
close all
clc
syms gamma M
v = sqrt(gamma+1/gamma-1)*atan(sqrt((gamma-1/gamma+1)*(M^2-1)))-atan(M^2-1)
solve(v,M)
syms H
v_2 = sqrt(H)*atan(sqrt((1/H)*(M^2-1)))-atan(M^2-1)
solve(v_2,M)
حتی یک در حالتی دیگر، یک متغیر جدید هم تعریف کردم تا معادله ساده تر شود، اما تاثیری ندارد و باز هم معادله حل نمی شود.
نتیجه اجرای کد متلب بالا :
کد:
v =
atan(((M^2 - 1)*(gamma - 1/gamma + 1))^(1/2))*(gamma + 1/gamma - 1)^(1/2) - atan(M^2 - 1)
Warning: Explicit solution could not be found.
> In solve at 83
In Untitled at 7
ans =
[ empty sym ]
v_2 =
H^(1/2)*atan(((M^2 - 1)/H)^(1/2)) - atan(M^2 - 1)
Warning: Explicit solution could not be found.
> In solve at 83
In Untitled at 11
ans =
[ empty sym ]
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.