کلیدستان

نسخه‌ی کامل: گرفتن معادله دیفرانسیل از کاربر (در برنامه نویسی متلب)
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
 سلام
میخام با استفاده از تابع input از کاربر یه معادله دیفرانسیل بگیرم و انتگرال اون رو نمایش بدم

اگه از این راه برم:

کد:
syms x y ;
U=input('enter eq: ');

اگه کاربر توی معادله Dx یا Dy بزنه با خطای متغیر تعریف نشده روبرو میشم

اگه از این راه برم:

کد:
syms x y Dx Dy;
U=input('enter eq: ');

اونوقت Dx خودش یه متغیر حساب میشه نه مشتق x

الان من باید چیکار کنم مثلا اگه کاربر وارد کرد x + Dx چیزی که چاپ میشه ( انتگرال این عبارت) X^2/2 + x باشه؟
جواب این سوال  خیلی واجبه واسم. اگه کسی میتونه کمک کنه. مرسیSmile

توضیح بیشتر:
الگوریتم برنامه من اینه:

از کاربر یه معادله دیفرانسیل میگیره .
که فقط برحسب x و مشتق x که همون Dx باشه هست.
حالا من میخام از این معادله ای که کاربر وارد کرده برحسب x انتگرال بگیرم و اون رو نشون بدم.

دو تا راه رفتم.
راه اول:

کد:
syms x;
U=input('enter eq: ');

الان اگه کاربر مثلا بزنه x + Dx برنامه با خطا میاد بیرون ( متغیر Dx تعریف نشده )

راه دوم:

کد:
syms x Dx;
U=input('enter eq: ');

الان اگه کاربر مثلا بزنه x + Dx برنامه به Dx به شکل یک متغیر جداگانه به اون نگاه میکنه نه به عنوان مشتق اول x و جوابی که به من میده (x*(2*Dx + x))/2 هست ( معادل با x^2/2 + xDx ) در حال که من انتظار داشتم به من جواب x^2 /2 + x بده


الان باید چیکار کنم؟:/
 
کد پی‌اچ‌پی:
syms x
int
(x+1)

result :

1/2*x^2+