سلام.یه سوال در مورد pdepe دارم
میشه دو تا معادلع یکی در سیستم استوانه ای و یکی کارتزین راهم زمان با pdepe حل کرد؟
ممنون
مشاهده پیوست 258479
معادلاتم اینا هستن.به نظرتون امکانش نیست؟سریعترین راهبرای حلش چی هست؟
این دو تا معادله به هم وابسته هستند
سلام
شرایط مرزی و اولیه را دارم.
چطوری معادلات را به هم تبدیل کنم؟میشه راهنمایی کنید؟
چون من خیلی خیلی وقتم کمه که از تفاضلات محدود یا روش خطی و ... برنامه را بنویسم.فکر کنم اگه بشه pdepe ساده ترین روشه
ممنون
از روابط تبدیل مختصات استفاده کنید. روابطش توی کتابهای ریاضیات مهندسی، سیالات، مکانیک محیطهای پیوسته، ... هست. توی اینترنت هم بزنی حتماً هست:
coordinate transformation Cartesian cylindrical
در واقع فرمول اول و دوم هر دو در سیستم استوانه ای نوشته شدند.که در فرمول اول ترم نفوذD حذف شده و در جهت Zتغییرات داریم و در فرمول دوم نفوذ D داریم و تغییرات در جهت r هست.در این صورت امکان حل با pdepe هست؟
یعنی میشه توی یک فایل r=x در نظر بگیرم و توی یک فایل دیگه z=x.
بعد در فایل سوم فراخوانیشون کنم؟
یا اینکه باید هر دو تا معادله یک بعد r داشته باشن یا بعد z؟
pdepe قابل تعمیم به دو بعد نیست؟
x = [r; z]
یک برنامه ای دارم میشه شما بررسیش کنید؟
ممنون میشم
چرا قابل حل نیست؟ببین من الآن یک نگاهی به راهنمای متلب انداختم؛ مسأله شما با تابع pdepe قابل حل نیست. باید به فکر روش دیگه ای باشی.
چرا قابل حل نیست؟
از چه روشی میتونم استفاده کنم؟چون وقتم خیلی محدوده
دلیلش اینه که pdepe دو تا متغیر مستقل قبول می کنه؛ یکی زمان، و یکی هم مکان. یعنی x نمی تونه بردار باشه؛ فقط می تونه اسکالر باشه. این رو در ابتدای کار بهش دقت نکردیم.
در مورد روشهای دیگه:
ـ اگه دستگاه معادلات مربوط به یه مسأله خاص و معرف باشه، با اسمش در mathworks.com/matlabcentral/fileexchange و github.com و گوگل جستجو کن؛ شاید قبلا کسی انجام داده باشه و در اینترنت به اشتراک گذاشته باشه.
ـ معادلاتی رو که pdetool می تونه حل کنه بررسی کن، ببین این دستگاه قابل بیان به شکل یکی از اون معادلاتی که pdetool می تونه حل کنه هست یا نه.
ـ آخرین کارهایی که می تونید انجام بدید استفاده از کاسته های بسته (یا تفاضلات محدود) و یا استفاده از پارکهای بسته (یا المانهای محدود) هست. اگه خواستید از روش کاسته های بسته مسأله رو حل کنید، پاره بندی رو فقط در جهتهای مکانی، یعنی r و z، انجام بدید و شرایط مرزی رو اعمال کنید. بعد معادلاتی که به دست اومده رو با استفاده از تابع ode15s حل کنید.
ـ روشهای دیگه هم هست؛ ولی من اگه بودم، به این ترتیب که نوشتم کار حل مسأله رو ادامه می دادم.
ممنونم.سرچ زدم کسی انجام نداده با متلب.
با روش method of line هممیشه انجامش داد؟
فکر کنم همون روشی رو که من توضیح دادم که آخرش با ode15s حل کنید رو بعضیها بهش میگن method of lines
سلام. ببخشید پریدم وسط بحث. معادله هایی که گذاشته بودید، متغیرهای زیادی داره (u_g، u_cp، c_i، ...) نتونستم تشخیص بدهم کدوم هاشون توابع مجهول هستند.
ممنونم.سرچ زدم کسی انجام نداده با متلب.
با روش method of line هممیشه انجامش داد؟
دو تا ورودی اول دستور plot بردار هستند.بچه ها من میخوام شکل های سیمولینگم با ران کردم ام فایلم بدست بیاد بنابراین توی سیمولینگم از بلوک to workspace استفاده کردم و بعد کد مربوطه اش رو نوشتم ولی این اررو رو گرفتم!!
Error using plot
Vectors must be the same lengths.
Error in sekltakhmxnouf (line 8)
plot(tout,X1.signals.values,'b','LineWidth',2)
منظورش از بردار چیه؟ من که محدوده ای مشخص نکردم برای محورم یا هر چیز دیگه ای؟؟؟ !!!!
منظورش اینه که مثلا اگه نوشته اید plot(x,y) بردارهای x و y هم اندازه نیستند که بخواد اونها رو بر حسب هم رسم کنهبچه ها من میخوام شکل های سیمولینگم با ران کردم ام فایلم بدست بیاد بنابراین توی سیمولینگم از بلوک to workspace استفاده کردم و بعد کد مربوطه اش رو نوشتم ولی این اررو رو گرفتم!!
Error using plot
Vectors must be the same lengths.
Error in sekltakhmxnouf (line 8)
plot(tout,X1.signals.values,'b','LineWidth',2)
منظورش از بردار چیه؟ من که محدوده ای مشخص نکردم برای محورم یا هر چیز دیگه ای؟؟؟ !!!!
منظورش اینه که مثلا اگه نوشته اید plot(x,y) بردارهای x و y هم اندازه نیستند که بخواد اونها رو بر حسب هم رسم کنه
ببینید ابعاد X1.signals.values و tout چقدر هست یعنی دوتا دستور زیر رو اجرا کنید:اخه من محدوده ای برای هیچ کدام از متغییر هام مشخص نکردم !!!!!!!!!!!
آقای meytim کاملا درست می فرمایند. عجیبه که کسی تا حالا حلش نکرده باشهسلام.در واقع u_cp مجهول هست اما من برای سادگی کارم u_cp و u_g را یکی در نظر میگیرم و برابر مقدار دبی به سطح در حال استفاده
اسم معاله ها یا مسأله ای که حل می کنید چیه؟ توی قرن 21 ندرتاً مسأله های کاملاً جدید مطرح و حل میشه.
آقای meytim کاملا درست می فرمایند. عجیبه که کسی تا حالا حلش نکرده باشه
به نظرم اگه از یه متغیر جدید به صورت حاصلضرب u در c استفاده کنید، معادلاتتون ساده تر میشه
مشاهده پیوست 258620
مثل این...در واقع باید آخرش steady بشه ولی نوسانی در میاد
Thread starter | عنوان | تالار | پاسخ ها | تاریخ |
---|---|---|---|---|
F | سوالات و مشکلات در متلب | MATLAB | 1 | |
N | راهنمایی پیاده سازی کلاسبند جنگل تصادفی و خوشه بند DBSCAN در متلب | MATLAB | 0 | |
ب | کمک در برنامه نویسی متلب...فوری | MATLAB | 0 | |
A | شبیه سازی متغییر گسسته وپیوسته باهم برای یک مسئله در متلب 2014 | MATLAB | 0 | |
A | درخواست کمک در پروژه متلب.فوری | MATLAB | 4 |