سوالات و مشکلات مدل سازی و کدنویسی در نرم افزار متلب - Matlab - تخصصی مهندسی شیمی

toteshan8602

عضو جدید
یه سوالبرنامه ای که تو لوپ افتاده رو میشه برنامه الگوریتم ژنتیکش رو نوشت و ران کرد؟!
 

toteshan8602

عضو جدید
متوجه سوالتون نشدم
ببینید من یه مدلینگ ترمودینامیکی با برنامه متلب نوشتم حالا می خوام این مدل رو با استفاده از الگوریتم ژنتیک بهینه کنم
مشکلی که اینجا هست اینه که برنامه ران نمیشه و تو لوپ (loop) می افته
می خواستم بدونم این برنامه با وجودیکه ران نمیشه توی tool box الگوریتم ژنتیک ران میشه یا نه؟
(نمیدونم منظورم رو رسوندم یا نه؟!:cool:)
 

پیرجو

مدیر ارشد
مدیر کل سایت
مدیر ارشد
ببینید من یه مدلینگ ترمودینامیکی با برنامه متلب نوشتم حالا می خوام این مدل رو با استفاده از الگوریتم ژنتیک بهینه کنم
مشکلی که اینجا هست اینه که برنامه ران نمیشه و تو لوپ (loop) می افته
می خواستم بدونم این برنامه با وجودیکه ران نمیشه توی tool box الگوریتم ژنتیک ران میشه یا نه؟
(نمیدونم منظورم رو رسوندم یا نه؟!:cool:)

سلام، اگر تعداد متغیرها را به درستی انتخاب کنید و دقیقا به مدل ترمودینامیکی کانکت بشه بدون مشکل RUN میشه.
 

پیرجو

مدیر ارشد
مدیر کل سایت
مدیر ارشد
منظورتون متغیرهای برنامه اصلیه یا الگوریتم ژنتیک؟

مگه قراره فرقی هم داشته باشن؟ شما هر چیزی رو که توی برنامه اجرا می کنید همون رو با دقت بالاتری از ژنتیک دریافت می کنید.
 

sara-tangestani

عضو جدید
ode

ode

سلام بچه ها من باید یه معدله خطی مرتبه 4 رو به روش رانک کاتا در نرم افزارمتلب حل کن
نمی دونم چطوری به 4تا معادله مرتبه اول تبدیل کنم و چطوری باید کدش تو متلب بنویسم
لطفا منو راهنمایی کنید یا یه کتابی یا نوشته ای که کامل توضیح داده رو در اختیارم قرار بدید
ممنون
 

nazliii

مدیر مهندسی برق مخابرات - متخصص نیمه هادی
سلام بچه ها من باید یه معدله خطی مرتبه 4 رو به روش رانک کاتا در نرم افزارمتلب حل کن
نمی دونم چطوری به 4تا معادله مرتبه اول تبدیل کنم و چطوری باید کدش تو متلب بنویسم
لطفا منو راهنمایی کنید یا یه کتابی یا نوشته ای که کامل توضیح داده رو در اختیارم قرار بدید
ممنون

تو اینترنت هست سرچ کنی پیدا میکی بعد یه کم تغییرات بدی حله
 

pixxy

عضو جدید
سلام دوستان. من واسه یه مسیله انتقال حرارت باید یه دستگاه 5 معادله و 5 مجهول رو به یه روش حل عددی به کمک متلب حل کنم تو یکی از معادله ها یه عبارت لگاریتمی هست (log mean Temperatures) که به هر روشی بخوام این دستگاه رو حل کنم عبارت داخل لگاریتم ممکنه منفی بشه و جواب ها موهومی به دست میاد.روش نیوتون رافسون، روش سعی و خطا،استفاده از الگوریتم های ژنتیک و انبوه ذرات رو امتحان کردم، چون توی همه ی روش ها مقادیر دما ها به نوعی باید حدس زده بشن معمولا یه جایی داخل لگاریتم منفی میشه و جواب اشتباه به دست میاد(موهومی). از گزاره های شرطی هم برای محدود کردن حدس ها استفاده کردم ولی جواب های خوبی بدست نمیاد.کسی در این مورد ایده ای نداره؟؟؟؟؟ کمممممک!
 

star123456

عضو جدید
حل دستگاه معادلات دیفرانسیل به روش ODE در متلب

فرض کنید که دستگاه معادله دیفرانسیل مقابل با شرایط مرزی زیر داده شده است:
y"+z-z'=cos(x)
z"+z'+y'=-sin(x)

y(0)=0
y'(0)=1
z(0)=1
z'(0)=0
همانطور که می دانید ode در متلب تنها می تواند معادلات دیفرانسیل مرتبه اول را حل کند. پس اولین کار قبل از رفتن به متلب این است که معادلات یا دستگاه معادلات را به معادلات مرتبه اول تبدیل نمائیم. پس در این مقاله معادله اول تبدیل به دو معادله و معادله دوم نیز تبدیل به دو معادله خواهد شد. این تبدیلات در زیر آمده است:
y=y1
y'1=y2
y'2=cos(x)+z'-z
-----------------------
z=z1
z'1=z2
z'2=-sin(x)-y'-z'
-----------------------
با تلفیق این دو دسته معادلات، دستگاه معادلات جدید به صورت زیر بدست خواهد آمد:
y'1=y2
y'2=cos(x)+z2-z1
z'1=z2
z'2=-sin(x)-y2-z2
شرایط مرزی نیز به صورت زیر تبدیل خواهد شد:
y1(0)=0
y2(0)=1
z1(0)=1
z2(0)=0
حال باید دستگاه معادله 4 گانه تبدیل شده را در یک function در متلب بنویسیم:
function out=fun(x,s)
y1=s(1)
y2=s(2)
z1=s(3)
z2=s(4)
out=[y2;cos(x)+z2-z1;z2;-sin(x)-y2-z2];

توجه کنید که متغیرهای ما تبدیل به 4 متغیر y1 و y2 و z1 و z2 شده اند. اما همانطور که می دانید در ode در هنگام نوشتن function شما تنها یک متغیر مستقل (در اینجا x) و یک متغیر وابسته (در اینجا s) دارید. به همین دلیل s دارای 4 مولفه خواهد بود که در function آمده است. یعنی به طور مثال اگرکه یک دستگاه معادله را شما تغییر دادید به معادلات مرتبه اول و 10 معادله مرتبه اول شد، آنگاه s دارای 10 مولفه خواهد بود.
پس از اینکه نوشتن function تمام شد حالا در m فایل دیگری و یا در command window دستور ode45 را اجرا می کنیم:
>>x_span=[0 2*pi];
>>IC=[0 1 1 0];
>>[X OUT]=ode45(@fun,x_span,IC);

با اجرای این دستور معادلات برای x بین صفر تا 2*pi حل می گردد. توجه نمائید که بردار IC بردار شرایط اولیه خواهد بود که به ترتیب معادلاتی که در function نوشته اید باید این شرایط اولیه را بنویسید. خروجی این دستورات بردار X و ماتریس OUT می باشد. همانطور که میبینید ماتریس OUT دارای 4 ستون می باشد. به ترتیبی که معادلات را در function نوشته اید ستون اول y1 و ستون دوم y2 و ستون سوم z1 و ستون چهارم z2 می باشد. با توجه به تبدیلاتی که انجام داده ایم ما به دنبال جواب y و z هستیم که در اینجا می شود y1 و z1. پس اگر که بخواهیم جواب ها را با همدیگر رسم نمائیم کافیست دستورات زیر را اجرا کنیم:
>>plot(x,OUT:),1),'r',x,OUT:),3),'b')
>>legend('y','z')
همانطور که از شکلها هم می توان فهمید جواب y همان نمودار قرمز رنگ یعنی sin و جواب z همان نمودار آبی رنگ یعنی cos می باشد.
 

logano

عضو جدید
سلام من هم دقیقا مشکل شمارو دارم تونستین راهی پیدا کنید
 

ئدز

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

pixxy

عضو جدید
سلام من میخوام اموزش مطلب رو شروع کنم اما نمیدونم کدوم جزوه سایت خوبه اگه کتاب فارسی خوب سراغ داری لطفا معرفی کنید
سلام شما اگه زبانتون خوب باشه و یه کمی هم برنامه نویسی بلد باشید خیلی راحت میتونید از هلپ متلب کمک بگیرید و هر کدی که دوست داشتید رو بنویسید. اگه این دو تا شرط رو نداشته باشین 50 تا کتاب هم بخونین آخرش متلبو یاد نمیگیرین. ولی وقتی بتونین از هلپ استفاده کنید فقط کافیه یه کتاب در مورد کلیات متلب از اینترنت دانلود کنید و بخونین و بعد از اون هم یه مدت تمرین کنید تا راه بیفتین.
 

ئدز

عضو جدید
سلام شما اگه زبانتون خوب باشه و یه کمی هم برنامه نویسی بلد باشید خیلی راحت میتونید از هلپ متلب کمک بگیرید و هر کدی که دوست داشتید رو بنویسید. اگه این دو تا شرط رو نداشته باشین 50 تا کتاب هم بخونین آخرش متلبو یاد نمیگیرین. ولی وقتی بتونین از هلپ استفاده کنید فقط کافیه یه کتاب در مورد کلیات متلب از اینترنت دانلود کنید و بخونین و بعد از اون هم یه مدت تمرین کنید تا راه بیفتین.

زبانم بعد نیست اما نمیدونم از کجا شروع کنم ؟؟؟؟؟؟؟؟؟؟راستش دقیقا نمیدونم در اینده با چه کاربردی از مطلب یا کلابرنامه نویسی اشنا میشم برای همین برای صفر کیلومتر نبودن میخوام خودم شروع کنم به یاد گیری میدونم اگه بتونم از هلپ خود برنامه استفاده کنم تقریبا تمام سوالام حله اما خود هلپشم برای خودش شهریه
 

toteshan8602

عضو جدید
سلام خدمت دوستانمن یه کد میخوام که بتونم مقدار "max" یه تابع رو در محدوده خواصی از متغیرها بدست بیارم(کدی عکس "fmin search")ممنون
 

pixxy

عضو جدید
سلام خدمت دوستانمن یه کد میخوام که بتونم مقدار "max" یه تابع رو در محدوده خواصی از متغیرها بدست بیارم(کدی عکس "fmin search")ممنون
سلام وقت بخیر
بسته به اینکه تابع شما به چه شکلی باشه هر مسئله بیشینه سازیی رو میشه به مسئله کمینه سازی تبدیل کرد. یعنی کافیه شما کل تابع رو در منفی یک ضرب کنید و مینیممش رو بدست بیارید و یا اینکه اونو به توان منفی یک برسونین و ... به همین دلیل همیشه مسائل بهینه سازی رو بر اساس الگوریتم های کمینه سازی تعریف میکنن. من توی متلب تابع بیشینه سازی توابع رو ندیدم، البته تا حالا دنبالش هم نگشتم!! شاید باشه.
:smile:
 

toteshan8602

عضو جدید
سلام وقت بخیر
بسته به اینکه تابع شما به چه شکلی باشه هر مسئله بیشینه سازیی رو میشه به مسئله کمینه سازی تبدیل کرد. یعنی کافیه شما کل تابع رو در منفی یک ضرب کنید و مینیممش رو بدست بیارید و یا اینکه اونو به توان منفی یک برسونین و ... به همین دلیل همیشه مسائل بهینه سازی رو بر اساس الگوریتم های کمینه سازی تعریف میکنن. من توی متلب تابع بیشینه سازی توابع رو ندیدم، البته تا حالا دنبالش هم نگشتم!! شاید باشه.
:smile:
سلام
راستش خودمم ندیده بودم ولی گفتم شاید باشه و من نمی دونم
بهر حال ممنون از پاسختون
 

ea26

عضو جدید
سلام
دوستان من نیاز به کد معادله ویلسون برای سیستم دو جزیی بخار مایع دارم
کسی میتونه کمکم کنه :(
 

mohandes-87

عضو جدید
سلام دوستای خوبم من یه مشکل دارم اینه که من سوالاتی میخوام که به روش ضمنی بشه حلشون کرد و با یه حدس اولیه مثلا برای دما شروع کنیم وبقیه مجهولامونو با فرمولی که داریم وحدس اولیه دما بدست بیاریم وهمین طور روند ادامه پیدا کنه تا وقتی که جواب درست برای همشون بدست بیاد ولی نمیدونم از کجا چنین مثالایی پیدا کنم میشه یه منبع خوب بهم معرفی کنید
 

ئدز

عضو جدید
سلام دستم به دامنتون من متلب خیلی ابتدایی بلدم حالا استاد گفته کدی بنویسید که بتونه تمام مسائل خطی تو بهینه سازی رو حل کنه البته یه بیس فعلاً برام کافیه برای حداقل نمره بعد اگه شد کد رو گسترش میدم فقط منظورم بهینه سازی خطی تو درس تحقیق در عملیات هست البته میدونم یه دستور تو خود متلب هست اما ما باید خودمون کد بزنیم من کم میام اینجا لطفا پیام خصوصی بدید خواهشا سریع اگه کسی میتونه کمک کنه
 

toteshan8602

عضو جدید
سلام خدمت دوستان من یه معادله غیر خطی دارم که میخواستم با روش نیوتن با متلب حل کنم معادله به این صورته:

p-(((R*T)/(Vm-bmix))-(amix/(Vm*(Vm+bmix)))-0.5*((R*T)/Vm)*(1+((0.475*bmix)/((Vm)-(0.475*bmix))))*((2*x1*(1-XA1))+(2*x1*(1-XC1))+(x2*(1-XA2))+(x2*(1-XB2))))

مجهولمون Vm هستش و بقیه ثوابت مقدارشون مشخصه،این معادله 3 ریشه داره که من کوچک ترین ریششو میخوام خودم با fsolve حل کردم حل میشه ولی یه سری خطوط آبی رنگ بهم میده:

No solution found".fsolve stopped because the relative size of the current step is less than thedefault value of the step size tolerance squared, but the vector of function valuesis not near zero as measured by the default value of the function tolerance."

ممنون
 
آخرین ویرایش:

diamondpersia

کاربر فعال
سلام. حل دستگاه معادلات 7 معادله 7 مجهولی را با متلب(روش رانگ کوتا مرتبه 4) میخوام انجام بدم. کمکم میکنید از کجا شروع کنم؟
 

adel.poladi

عضو جدید
حل معادله دیفرانسیل مرتبه دوم در متلب

حل معادله دیفرانسیل مرتبه دوم در متلب

سلام دوستان من یک معادل دیفرانسیل مرتبه دوم رو با متلب حل کردم. چندتا پیغام خطا میده که نمیدونم چطور باید برطرفشون کنم مخصوصا پیغام خطای اول! روش حلم رو توی عکس زیر گذاشتم. اگر راهنمایی کنید ممنون می شم.
2.jpg
 

eghbali66

کاربر حرفه ای
کاربر ممتاز
سلام، دوستان. کسی فایل متلب شبیه سازی برج تقطیر Depropanizer رو داره؟
 

mohandes-87

عضو جدید
سلام دوستان من تازه متلب یاد گرفتم وبه خاطر مسلط شدن احتاج دارم تمرین زیادی انجام بدم برای همین ازتون خواهش میکنم چندتا تمرین ساده که مربوط به رشته خودمون هست برام قرار بدید تا حل کنم ممنون منتظرم
 

mohandes-87

عضو جدید
سلام نمیدونم چرا هر سوالی توی هر قسمت از تالار مینویسم بدون جواب میمونه ولی من ناامید نمیشم.یه سوال دارم اگر بخوام برنامه ای بنویسم که فشار بخار متیل کلرید را در دمای 322کلوین به وسیله معادله واندروالس بهم بده باید چیکار کنم؟
 
بالا