آشنایی با متلب ( نکات کاربردی-۲۴)جمعه 17, جولای 2020
آشنایی با محیط Matlab
در ادامه آموزش های سایت همیارپروژه برنامه نویسی متلب ارائه خواهد شد .آموزشها از مقدماتی تا پیشرفته ادامه دارد و ما به شما کدنویسی در نرم افزار متلب را یاد خواهیم داد. با ما همراه باشید.
حل های عددی معادلات غیر خطی – تابع fsolve
تابع داخلی fsolve که در جعبه ابزار بهینه سازی نرم افزار متلب قرار دارد, حل عددی یک سیستم شامل n معادله ی غیر خطی زیر
که در آن xn ها مجهولات دستگاه می باشند را با استفاده از یک حدس اولیه ی
ارائه می دهد. این تابع همچنین می تواند پارامترهای pj را به تابع تعریف کننده ی fn(x) انتقال دهد. شکل کلی دستور fsolve به صورت می باشد:
که در آن function name نام فایل تابع در میان علامت کوتیشنو بدون پسوند “.m” و یا هنگامی که توسط دستور inline ایجاد می شود, نام متغیر تابع بدون استفاده از کوتیشن می باشد, option یک بردار اختیاری است که پارامتر هایش توسط دستور optimset تعیین می شود و P1 وP2 و… پارامترهای Pj می باشند. اولین خط غیر دستوری این تابع در نرم افزار متلب به شکل زیر خواهد بود:
که در کد فوق x برداری شامل کمیت n می باشد که باید توسط مقادیر xn تعیین شود و z بردار ستونی مشتمل بر n عبارت در نرم افزار متلب می باشد که مبین n معادله غیر خطی fn(x1,x2,…xn)=0 بر حسب عناصر x می باشد.
دستگاه معادلات زیر که از یک مرحله ی میانی تحلیل مکانیزم سه درجه ی آزادی نشان داده شده است.
جهت حل این دستگاه معادلات , ابتدا تابع kinematiecs را تشکیل می دهیم, که معادلات فوق را به شکلی که توسط تابع fsolve مورد نیاز است تبدیل می کند, بنابراین :
که در آن شرایط زیر حاکم است:
حال اگر r1=1.8 , r2=2.1 , a1=1 , a2=2 و حدسهای اولیه برای θ۱,θ۲ را برابر Π/۶ قرار می دهیم. در این صورت برنامه به صورت زیر خواهد بود:
که پس از اجرا نمودن نرم افزار متلب نتایج زیر به دست خواهد آمد:
مجموعه دیگری از زوایا را می توان با قرار دادن مقادیر اولیه به صورت زیر می باشد:
بنابراین تابع fsolve را با احتیاط باید استفاده نمود بخصوصدر مواردی که دستگاه دارای بیشتراز یک جواب می باشد.
به عنوان مثال دیگری از دستگاه معادلات چند مجهولی , به محل تلاقی بیضی با معادله
با سهمی به معادله ی
توجه نمایید نمودار این دو تابع مبین این است که آنها در چهار نقطه یکدیگر را قطع می کنند.
بنابراین مقداری که توسط تابع fsolve بدست می آید, حساس به حدس اولیه خواهد بود, این مساله را با ایجاد تابع زیر , در نرم افزار متلب نشان خواهیم داد.
که در رابطه فوق باید نکات زیر را در نظر بگیریم
برنامه در نرم افزار متلب با در نظر گرفتن فرضیات زیر باید نوشته شود:
و در نهایت پس از اجرا نمودن در نرم افزار متلب نتایج به صورت زیر می باشند:
برازش داده ها با چند جمله ایها – تابع polyfit/polyval
یکی از پارامترهای حساس در مورد فلزات , q ضریب حساسیت به شکاف می باشد که بر حسب ثابت نیوبر , و شعاع شیار r به صورت زیر در نرم افزار متلب محاسبه می گردد:
مقدار برای فلزات مختلف, متفاوت می باشد. و تابعی از مقاومت نهایی ماده در نرم افزار متلب Su می باشد که آنرا می توان به وسیله ی برازش یک چند جمله ای , برای داده های بدست آمده از کار آزمایشگاهی بر حسب تابعی از Su برای فلزی مشخص , محاسبه نمود . پس از بدست آوردن این چند جمله ای می توانیم مقدار q را برای هر r و Su داده شده, تعیین کنیم.
جدول زیر ثابت هایی را برای فولاد در نرم افزار متلب بیان می کند:
داده های داده شده در بالا برای فولاد را در نظر بگیرید, با استفاده از این داده ها ابتدا ضرایب چند جمله ای درجه ی ۴ را که مبین می باشد, به صورت تابعی از Su تعیین می نماییم و سپس از این چند جمله ای در نرم افزار متلب برای به دست آوردن q به ازای مقادیر r و Su استفاده خواهیم کرد.
در اینجا آشنایی با محیط متلب بخش هفتاد و یک به پایان رسیده است و در آموزش های بعدی به مباحث دیگر آموزش متلب می پردازیم. همچنین از شما مخاطبین عزیز سایت همیارپروژه دعوت می کنم که برای انجام پروژه متلب خود آموزش های ما را دنبال نمایید.
نویسنده: زهرا رستمی
دیدگاهتان را بنویسید