احتمالا برای شما هم پیش اومده که در یک مقاله یا کتاب به جایی رسیدید که باید یک ناتساوی ماتریسی خطی (یا LMI) رو حل کنید و در بدر دنبال یک نفر هستید تا در کوتاهترین زمان ممکن حل این نوع ناتساوی ها رو به شما یاد بده تا مجبور نباشید زمان قابل توجهی صرف کنید و از منابع مختلف دنبال راه حل باشید. اگر شما هم جزو این دسته از محققین هستید دیگه نگران نباشید. در این پست قراره تمام جزییات و کلیات نامساوی ماتریسی خطی (و حتی غیرخطی) با نحوه حل اونها در متلب و با دو روش تولباکس متلب و YALMIP به روش ساده و با مثالهای مفصل توضیح داده بشه. اگر با این فیلمهای آموزشی همراه شده و مرحله به مرحله مثالها رو پیش برید بعد از این 11 جلسه قادر خواهید بود حل کننده (solver) مناسب رو برای مساله خودتون انتخاب کرده و ناتساویهای ماتریسی خودتون رو باهاش حل بکنید. بعد از تشریح کامل دو روش بالا یک مثال از طراحی کنترل کننده برای سیستم شناور مغناطیسی از یک مقاله IEEE با استفاده از LMI خدمت شما ارایه میشه (به همراه شبیه سازی در محیط سیمولینک) تا مطلب کامل جا بیافته. با ما همراه باشید…
پیشنیازها: آشنایی اولیه با جبر خطی و تئوری سیستمهای کنترل خطی – آشنایی با کدنویسی در محیط متلب
جلسه اول: مقدمات ریاضی و تعریف ناتساوی های ماتریسی
در این جلسه ابتدا مقدمات ریاضی و تعریف ناتساوی های ماتریسی به همراه مفاهیم مجموعه های محدب و نامحدب توضیح داده میشه و چند مثال هم از هر دو نوع مجموعه ارایه میشود. سپس نحوه تبدیل ناتساویهای خام به حالت استاندارد تشریح شده و در انتها روشهای مختلف حل عددی ناتساویهای ماتریسی به طور خلاصه مطرح میشود. جهت ارزیابی شما عزیزان جلسه اول رایگان تقدیم میشود.
مدت زمان آموزش: 49 دقیقه
محتویات درس: فیلم با کیفیت 720p و پاورپوینت درس
حجم فایل: 65 مگابایت
پیش نمایش جلسه اول:
جلسه دوم: تعیین متغیرهای ماتریسی و وارد کردن جملات LMI در تولباکس متلب
در این جلسه کار با تولباکس LMI متلب را شروع کرده و مراحل مختلف ایجاد یک LMI ارایه میشود. به طور خاص نحوه تعیین متغیرهای ماتریسی و همینطور نحوه وارد کردن جملات داخلی و خارجی به همراه مثال در محیط متلب تشریح میشود.
مدت زمان آموزش: 69 دقیقه
محتویات درس: فیلم با کیفیت 720p- پاورپوینت درس- کد متلب مربوط به مثالها- فایل pdf راهنمای استفاده از تولباکس متلب و لیست مرتب شده تمام دستورات مرتبط با تولباکس LMI متلب
حجم فایل: 89 مگابایت
پیش نمایش جلسه دوم:
جلسه سوم: معرفی دستور feasp تولباکس متلب جهت حل LMI
در این جلسه دستورات مختلفی که برای کسب اطلاعات تکمیلی از متغیرها و LMI های تعریف شده در متلب وجود دارند بررسی شده و با مثال تشریح می شوند. در ادامه یکی از دستورات مهم تولباکس LMI متلب که برای حل مسایل ناتساوی مورد استفاده قرار میگیرد معرفی شده و یک مثال از تحلیل پایداری سیستم کنترلی برای آن ارایه میشود.
مدت زمان آموزش: 68 دقیقه
محتویات درس: فیلم- پاورپوینت درس و کد متلب مربوط به مثالها
حجم فایل: 100 مگابایت
پیش نمایش جلسه سوم:
جلسه چهارم: معرفی دستورات mincx و gevp تولباکس متلب جهت حل مسایل مینیممسازی
در این جلسه ابتدا دستور mincx که برای حل ناتساویهای ماتریسی با شرط مینیمم سازی (یا ماکزیمم سازی) استفاده میشود به طور کامل تشریح شده و مثال جلسه قبل با شرط مینیمم و ماکزیمم سازی دوباره با این دستور حل میشود. همچنین دستور gevp که مربوط به حل مسایل مینیمم سازی مقدار ویژه تعمیم یافته میباشد تشریح میشود.
مدت زمان آموزش: 51 دقیقه
محتویات درس: فیلم- پاورپوینت درس و کد متلب مربوط به مثالها
حجم فایل: 69 مگابایت
پیش نمایش جلسه چهارم:
جلسه پنجم: طراحی کنترل کننده فیدبک حالت برای سیستم خطی و حل LMI های آن با تولباکس متلب
در این جلسه ابتدا دستورات باقیمانده که مربوط به ارزیابی LMI بعد از حل آن است معرفی میشوند. در ادامه یک مثال از طراحی کنترل کننده فیدبک حالت برای سیستم خطی به شکل LMI فرمول بندی شده و با تولباکس LMI متلب حل میگردد. نهایتا دو ترفند بسیار پرکاربرد تبدیل متجانس (Congruent transformation) و لم شور (Schur complement) برای LMI بیان میشوند.
مدت زمان آموزش: 53 دقیقه
محتویات درس: فیلم- پاورپوینت درس و کد متلب مربوط به مثالها
حجم فایل: 76 مگابایت
پیش نمایش جلسه پنجم:
جلسه ششم: معرفی تولباکس یالمیپ برای حل LMI و نجوه دانلود و نصب آن
از این جلسه معرفی تولباکس YALMIP شروع میشود و ابتدا توضیحات مقدماتی درباره آن و مزایای آن نسبت به تولباکس متلب ارایه میشود. در ادامه تمامی مراحل دانلود و نصب این تولباکس بر روی متلب به صورت گام به گام تشریح میشود. در انتها نحوه ارزیابی نصب درست تولباکس و solver های موجود در آن توضیح داده میشود.
توجه: اخیرا ظاهر و پوسته سایت YALMIP دچار تغییر و تحول شده و با صفحات نشان داده شده در فیلمهای حاضر قدری متفاوت است. با توجه به اینکه محتویات سایت YALMIP تغییر پیدا نکرده و تنها محل لینکها تغییر پیدا کرده (مثلا لینکهای ستونی سمت چپ به بالای صفحه انتقال پیدا کرده)، فیلمهای موجود دوباره ضبط نشده و همین فیلمها قابل استفاده هستند.
مدت زمان آموزش: 47 دقیقه
محتویات درس: فیلم آموزشی
حجم فایل: 96 مگابایت
پیش نمایش جلسه ششم:
جلسه هفتم: تعریف متغیرهای ماتریسی و قیدها با استفاده از تولباکس یالمیپ
در این جلسه ابتدا نحوه تعریف متغیرهای ماتریسی با مثالهای متنوع در محیط متلب توضیح داده شده و سپس چگونگی تعریف قیدها یا همان ناتساویهای ماتریسی جهت استفاده در YALMIP با چندین مثال تشریح میشود.
مدت زمان آموزش: 62 دقیقه
محتویات درس: فیلم آموزشی- فایل پاورپوینت و کد مثالهای نوشته شده در این جلسه
حجم فایل: 85 مگابایت
پیش نمایش جلسه هفتم:
جلسه هشتم: تعریف تابع هزینه و حل LMI با استفاده از تولباکس یالمیپ
در این جلسه نحوه تعریف تابع هزینه، گزینه های اختیاری مربوط به YALMIP (به جز solver ها)، چگونگی حل مساله و در نهایت روش استخراج متغیرهای ماتریسی تشریح شده و مثال تحلیل پایداری که جلسات پیش با تولباکس متلب حل شده بود، با YALMIP هم حل میشود.
مدت زمان آموزش: 71 دقیقه
محتویات درس: فیلم آموزشی- فایل پاورپوینت و کد مثالهای نوشته شده در این جلسه
حجم فایل: 114 مگابایت
پیش نمایش جلسه هشتم:
جلسه نهم: معرفی و تشریح نحوه دانلود و نصب سه solver پرکاربرد به نامهای PENBMI ، SDPT3 و MOSEK
مباحث باقیمانده از توضیحات مربوط به YALMIP از جمله solver ها (داخلی و خارجی) در این جلسه مورد بحث قرار میگیرد. به طور خاص نحوه دانلود و نصب سه solver پرکاربرد به نامهای PENBMI ، SDPT3 و MOSEK به طور کامل تشریح شده و مثال تحلیل پایداری سیستم خطی که در جلسات قبل با تولباکس متلب حل شده بود، با این سه solver نیز حل میگردند.
مدت زمان آموزش: 73 دقیقه
محتویات درس: فیلم آموزشی- فایل پاورپوینت و کد مثالهای نوشته شده در این جلسه
حجم فایل: 169 مگابایت
پیش نمایش جلسه نهم:
جلسه دهم: معرفی دینامیک غیرخطی قطار مغناطیسی شناور و خطیسازی حول نقطه کار
در این جلسه تکنولوژیهای موجود در ساخت قطارهای مغناطیسی معرفی شده و دینامیک غیرخطی شناورسازی یک قطار مغناطیسی با تکنولوژی EMS از یک مقاله IEEE ارایه میشود. در ادامه نقاط تعادل و نامی دینامیک استخراج شده و حول نقطه مورد نظر خطیسازی ژاکوبی انجام میشود تا ماتریسهای مورد نیاز برای طراحی کنترلکننده فیدبک حالت بدست آورده شود.
مدت زمان آموزش: 66 دقیقه
محتویات درس: فیلم آموزشی و کلیپی کوتاه از عملکرد قطار مغناطیسی- فایل پاورپوینت و مقاله IEEE حاوی دینامیک شناورسازی قطار مغناطیسی
حجم فایل: 116 مگابایت
پیش نمایش جلسه دهم:
جلسه یازدهم: طراحی و شبیهسازی فیدبک حالت برای سیستم شناور مغناطیسی
در این جلسه ابتدا دینامیک غیرخطی شناور مغناطیسی در محیط متلب و در نقطه کار دلخواه خطی شده و سپس با هر دو روش تولباکس LMI متلب و YALMIP مساله پایدارسازی سیستم خطی شده با فیدبک حالت حل میشود. همچنین بعد از بدست آوردن بهره کنترل کننده با استفاده از solver های PENBMI، SDPT3 و MOSEK در محیط YALMIP و بهره بدست آمده از تولباکس متلب، سیستم حلقه بسته (با دینامیک غیرخطی) در محیط سیمولینک شبیه سازی شده و نتایج حاصل از این بهره ها باهم مقایسه شده است.
مدت زمان آموزش: 67 دقیقه
محتویات درس: فیلم آموزشی- فایل پاورپوینت و کدها و فایلهای شبیه سازی سیستم حلقه بسته
حجم فایل: 113 مگابایت
پیش نمایش جلسه یازدهم:
مطالعه بیشتر
نسرین
ممنون از راهنماییتون
من در نت گشتم مثل اینکه این سالور رایگان نیست. از کجا میتونم این سالور رو رایگان دانلود کنم؟
علی جوادی
@نسرین,
این سالور پولیه و باید خریداری بشه
البته روشهای دیگه هم برای حل BMI وجود داره ولی باید کدش رو خودتون بنویسید. برای این کار به مقالات موجود برای حل BMI مراجعه کنید
نسرین
سلام
bmi زیر رو با تولباکس یالمیپ نوشتم ولی متاسفانه فیزیبل نمیشه. راه حل برای جواب گرفتن از این برنامه چیه؟
ممنون
% LMI Variables
m11 = sdpvar(n,n);
m21 = sdpvar(n,n);
m12 = sdpvar(n_t,n_t);
m22 = sdpvar(n_t,n_t);
M12 = zeros(n,n_t);
M21 = -M12′;
F1 = sdpvar(n,1);
F2 = sdpvar(n_t,1);
F_F = [F1*C zeros(n,1) ; F2*C 0];
M_tk = [m11 M12 ; M21 m12];
M_tk_plus = [m21 M12 ; M21 m22];
% LMI Terms
Sai1 = A’*m11+m11*A+(m11-m21)/Delta+(eps1*kf^2+eps2*kh^2*k_theta^2)*eye(3,3)-alpha*m11;
Comm = (1/eps1)*eye(3,3)+(1/eps2)*B*(B’);
Sai2 = A’*(m21-m11)+(m21-m11)*A-alpha*(m21-m11);
% Main LMIs
F = ([Sai1 m11*Comm ; Comm*m11 -Comm]<0);
F = F + ([Sai2 (m21+m11)*Comm ; Comm*(m21-m11) -Comm]<0);
F = F + ([(m12+m22)/Delta m12 ; m12 -m12/alpha]<0);
F = F + (m12-m220);
F = F + (m21>0);
F = F + (m12>0);
F = F + (m22>0);
F = F + ([-sigma*M_tk (eye(4,4)+F_F)’*M_tk_plus ; M_tk_plus*(eye(4,4)+F_F) -M_tk_plus]<0);
% Solve LMIs
ops = sdpsettings('solver','');
solution = solvesdp(F,[],ops);
% Results
m11_feasible = double(m11)
m21_feasible = double(m21)
m12_feasible = double(m12)
m22_feasible = double(m22)
F1_feasible = double(F1)
F2_feasible = double(F2)
علی جوادی
@نسرین,
سلام
به نظرم شما باید اول فیلمهای آموزشی رو با دقت خیلی زیاد ببینید چون خیلی اشکالات داخل کد دارید که با دیدن فیلمها همگی برطرف میشه (اشکالاتی مثل استفاده نادرست از دستورات تولباکس و …).
و اما در مورد BMI باید بگم اگر شما BMI بخواهید حل کنید، یکی از بهترین روشها نصب سالور PENBMI هستش که ظاهرا شما انجام ندادید.
لطفا فیلمها رو با دقت حیلی بیشتر ببینید چون همه چیز (از جمله سالورها) رو اونجا توضیح دادم
موفق باشید
محمد عبداله زاده ( مالک تایید شده )
سلام جناب دکتر ببخشید بر روی سیتم گوی و میله کنترل مقاوم شبیه سازی نکردید
علی جوادی
@محمد عبداله زاده,
سلام
کنترل مقاوم نه ولی کنترل بهینه LQR پیاده شده و میتونید از لینک زیر دریافت کنید:
https://www.controlref.com/lqr/
محمد عبداله زاده ( مالک تایید شده )
سلام وروز بخیر خدمت شما اقای دکتر ببخشید ی سوال داشتم مقاله ای رو شبیه سازی کردین با توضیحش در زمینه فازی که بتونیم شبیه سازی مقاله رو یاد بگیریم با کنترل کننده فازی نوع 1و2 اگه اموزش دادین لینک لطف کنید من تهیه کنم ممنون اموزش LQR عالی بود دستتون درد نکنه
علی جوادی
فازی و مدلغزشی در تخصص من نیست
برای فازی به فیلمهای دکتر محمد زاده و برای مد لغزشی به فیلمهای مدیر سایت مراجعه کنید
بهداروند
سلام و عرض ادب
آموزش خوبی بود. فقط مسله اینجاست که من نمیتونم الان مسله خودم رو حل کنم.
پنج تا ماتریس درنهایت من بایستی بدست بیارم. K1,K2,M.P,S (متغیرها) که اینطور تعریف شدن :
(P=sdpvar(4,4
(S=sdpvar(4,4
(M=sdpvar(4,4
(‘K1=sdpvar(4,1,’full
(‘K2=sdpvar(4,1,’full
و اینکه P>0 , S>0 هستن . LMI ای که من تعریف میکنم به این شکل هست:
[F=[P>=0
[F=[S>=0
F= [A1’*P+P*A1-M’-M+I M+P*A1-P*A1+P*A2 P*E
M’+A1’*P+A2’*P-A1’*P A2’*S+S*A2+C’*K2’+K2*C+A1’*S+S*A1+C’*K1’+K1*C+C’*C S*E
E’*P E’*S -(gama^2)] <=0
در ادامه :
(op=sdpsettings('verbose',0
(optimize(F
البته اول با کدهای موجود در متلب حل کردم و نشد و با yalmip شروع به حل کردم.
میخوام بدونم برای حل اینجور LMI ، چطور اقدام کنم؟
ممنون میشم پاسخ بدید
تشکر فراوان
علی جوادی
@بهداروند,
سلام
اقدام شد
بهداروند
سلام
وقت شما بخیر
چطور میتونم mosek رو دانلود کنم؟
آیا از شما میتونم بگیرم فایلشو؟
علی جوادی
@بهداروند,
سلام
در جلسه 9 حل LMI به طور کامل گفته شده:
https://www.controlref.com/lmi-film/
بهداروند
بله درست فرمودید
تشکر
m
با عرض سلام خدمت آقای دکتر
من برای سیستم گوی و میله که در آموزش ها بود میخوام یک کنترل کننده فیدبک خروجی دینامیکی با استفاده ازlmi طراحی کنم البته بدون استفاده از رویتگر. میشه لطف کنید راهنماییم کنید .
سپاس فراوان
علی جوادی
@m,
سلام
اگر یک کنترل کننده مقاوم در برابر نامعینی در نظر دارید، به سری فیلم زیر مراجعه کنید:
https://www.controlref.com/output-feedback-uncertainty/
اگر یک کنترل کننده مقاوم در برابر اغتشاش در نظر دارید، به سری فیلم زیر مراجعه کنید:
https://www.controlref.com/output-feedback-disturbance/
و اگر یک کنترل کننده مقاوم در برابر اغتشاش و نامعینی در نظر دارید، به سری فیلم زیر مراجعه کنید:
https://www.controlref.com/robust-output-feedback-disturbance-uncertainty/
اگر مباحث داخل این فیلمها رو خوب یاد بگیرید، به راحتی میتونید خودتون کنترل کننده فیدبک خروجی غیر مقاوم رو بدست بیارید
موفق باشید
فاطمه
سلام آقای دکتر جوادی
میخاستم راجع به خریداری Solver PENBMI بپرسم، که چطوری هزینه پرداخت میشه به یورو یا به پول ایران؟
و اینکه یک سوال راجع به مکمل شور ، این که برای یک ماتریس 3*3 چطوری مکمل شور رو مینونم بنویسم؟؟؟
درست مکمل شور برای ماتریسهای بلوکی هست ولیکن اگر یک ماتریس 3*3 داشتیم چطوری میتونم براش مکمل شور رو اعمال کنم ؟
ممنون میشم راهنماییم کنید
علی جوادی
@فاطمه,
سلام
من که از طریق یه صرافی پرداخت رو به ریال انجام دادم ولی یه درصد بالایی گرفت. شما اگه حساب ارزی دارید، به شماره IBAN در سایت زیر وجه رو به دلار یا یورو واریز کنید و بعد رسید رو به ایمیلی که داخل همین صفحه هست، بفرستید:
http://www.penopt.com/order.html
مکمل شور به طور کامل داخل فیلمها بحث شده. لطفا با دقت بیشتر فیلمها رو ببینید.
موفق باشید
فاطمه
خیلی ممنونم. بله من به طور کامل فیلم هرو دیدم ، کلا همه جا مکمل شور رو برای ماتریسهایی گفته که چهار تا بلوک دارن ، اگر تعداد بلوک ها مثلا 9تا باشه چی؟
علی جوادی
@فاطمه,
در اینصورت دو بار پشت سر هم میشه مکمل شور استفاده کرد. هر بار برای یک سطر و یک ستون
آنیتا
جلسه 11 مقاله ای که شبیه سازی کردید در فایل ها نیست و فایل zxp قابل اجرا نیست و ودیو آموزشی هم نیست. این دومین بار هست از این سایت خرید میکنم و هر با ناراضی بودم.
مدیر سایتادمین سایت ( مالک تایید شده )
@آنیتا,
سلام در مورد مقاله خود استاد مربوطه باید پاسخ بدن. و شما مجددا این سوال رو مطرح بفرمایید.
اما در مورد فایلها ، اون فایلی که پسوندش zxp هستش باید با پلیری که مخصوص سایت ماست فیلمتون رو باز کنید و این فایل همون فیلم اصلیه. پلیر مخصوص سایت مارو از ایمیلی که براتون ارسال شده بود دانلود کنید..
دلیل نارضایتی دفعه اولتون رو هم بهمون بگید تا برطرف کنیم
تشکر
آنیتا
@مدیر سایت, ممنون ، شرمنده فایل رو ندیده بودم. مورد اول هم بدلیل مکث زیاد در ویدیو مشکل داشتم. ممنون از جوابدهی
علی جوادی
@آنیتا,
سلام
از مشکلاتی که برای شما پیش اومده عذرخواهی میکنم.
در مورد مقاله باید بگم که چون داخل فایلهای جلسه 10 مقاله وجود داشت و من هم فکر نمیکردم کسی جلسه 11 رو بدون جلسه 10 خریداری کنه ، مقاله رو دوباره داخل فایلهای جلسه 11 اضافه نکردم. اگر جلسه 10 رو دارید، مقاله رو از اونجا بردارید و اگه جلسه 10 رو خریداری نکردید، بگید تا براتون مقاله رو ایمیل کنم یا خودتون دانلود کنید
آنیتا
@علی جوادی, ممنون اگر بفرستید عالی میشه .
علی جوادی
@آنیتا,
مقاله به ایمیلتون ارسال شد
موفق باشید
علی
با عرض سلام و احترام خدمت آقای دکتر
آیا در این فایلهای آموزشی در مورد CVX هم توضیح داده شده است یا خیر؟
با تشکر
علی جوادی
@علی,
سلام
همونطور که داخل فیلم ها هم اشاره کردم به دلیل تعداد کم solver ها, این تولباکس آموزش داده نشده
علیرضا
آقای دکتر جوادی
در رابطه با مشکلی که قبلا عنوان کردم (کدهای جلسات شش به بعد، هیچ کدوم دارای اعتبار نیستن) باید عرض کنم، نه شما اقدامی کردید و نه مدیر سایت. من به طور کامل پکیج رو خریداری کردم و مبلغش رو به طور کامل یکجا پرداخت کردم.
به مدیر سایت پیغام دادم. ایشون عنوان کردن که در تلگرام براشون پیام بذارم تا کدها رو ارسال کنن اما چنین نشد که نشد.
کدها رو براشون ارسال کردم تا چک کنن که این کدها کار نمیکنه، من باید از چه طریقی مساله رو پی گیری کنم. آیا خدا رو خوش میاد؟
مدیر سایتادمین سایت ( مالک تایید شده )
@علیرضا,
سلام
مهندس من که به صورت کامل و شفاف همه چیزو توضیح دادم!!!
حتی به لبتاب خودتون اومدم و با هم تک تک کدهای فعالسازی رو تست کردیم که ابتدا تصورم این بود که چون دارید از یک کشور دیگه این فیلم ها رو تهیه می فرمایید مشکل داره که وقتی با هم تست کردیم دیدیم هیچ مشکلی وجود نداره.
تشکر