@مسعود,
بله منظورم همون تولباکس یالمیپ هستش. اون خطایی که گفتید بعد از نصب تولباکس نباید ببینید مگر اینکه خطای دیگری ببینید. مثلا ممکنه مشکل از این باشه که شما solver مورد استفاده در کد رو ندارید که در اینصورت کافیه در دستور sdpsettings نوع solver رو انتخاب نکنید تا خود تولباکس از solver هایی که داره انتخاب کنه
مسعود(مهمان)
–
سلام مهندس من مشکلم باز حل نشد ایا منظور شما از تولباکس همان یالمیپ است بله اونو نصب کردم وتستم کردم داخل یالمیپ فقط چنتا سالور بودن . لطفا بیشتر توضیح بدین ببینید تو فیلم فقط روش نصب یالمیپو گفته دیگه راجب ارور برنامه چیزی نگفته که لطفا کمکم کنید
علی جوادی
–
@علی,
سلام
در حال حاضر مشغول تایپ تزم هستم. به محض اینکه تموم شد، مباحث تکمیلی تخمین بهینه از جمله CKF رو شروع میکنم
علی(مهمان)
–
سلام . مبحث CKF را چه زمانی ارائه می دهید؟
با تشکر
علی جوادی
–
@مسعود,
اگر تولباکس رو درست نصب کرده باشید، قطعا نباید همون خطا رو ببینید به خاطر اینکه دستور sdpvar داخل تولباکس تعریف شده. با روشی که در جلسه 6 گفتم (دقیقه 34)، نصب تولباکس رو تست کنید
مسعود(مهمان)
–
سلام مهندس راجب خطالی اون برنامه قطار شناور که گفتین یالمیپ رو نصب کنم بازم مشکل حل نشد چکار کنم خطار م قبلا فرستادم.
علی جوادی
–
@Elham,
داخل ناتساوی ها حاصلضرب آلفا و ایکس و همچنین بتا و اس وجود داره و بنابراین با solver های عادی نمیشه مساله رو حل کرد چون ناتساوی ها اصلا LMI نیستند. پیشنهاد من اینه که شما هر بار آلفا و بتا رو یه مقداری تعیین کنید و مساله feasibility رو حل کنید به جای مینیمم سازی. اگر جواب داد بتا رو کمتر و آلفا رو بیشتر کنید و در غیر اینصورت برعکس عمل کنید. این کار رو تا جایی ادامه بدید تا هم LMI ها feasible بشه و هم تا حد ممکن بتا مینیمم و آلفا ماکزیمم بشه.
Elham(مهمان)
–
ممنون از پاسخگویی سریع و دقیقتون.
اینکه من از روش تکراری استفاده کردم برای این بود که به عنوان مثال یکبار آلفا را ثابت فرض میکنم بعد نسبت به بتا مینیمم سازی انجام میدهم سپس این روند را برای آلفا به کار میگیرم.
مسئله که بنده بر روی آن کار میکنم به شکل زیر است:
Maximize α
X,S,M1,M2
Minimum β
X,S,M1,M2
Subject to X>0, β>0, α>0,S>0
[I S ;S I)]>0
-A1 X+BM1-XA1^T+M1^T B^T-2αX>0
-A2 X+BM2-XA2^T+M2^T B^T-2αX>0
[βS {(A1X – BM_1 )-(A2 X – BM2)}^T; {(A1 X-BM1 )-(A_2 X-BM2)}; I)]>0
با توجه به مسئله بالا یعنی روش حل بنده مشکل داشته است؟
اگر امکانش هست میشه لطف کنید، بگید برای حل اینگونه مسائل باید از چه روشی استفاده کنم؟
@Elham,
با سلام و تشکر از لطف شما
اولا که باید ببینید ناتساوی های شما نسبت به آلفا و بتا خطی هستند یا نه. اگر خطی نباشند، شما دیگه LMI ندارید و ممکنه BMI یا یه ناتساوی غیرخطی باشه.
ثانیا معلوم نیست شما چرا از روش تکراری استفاده کردید. اگر LMI داشته باشید نیازی به روش تکراری نیست و به راحتی با تولباکس متلب یا یالمیپ قابل حله.
ثالثا بزرگ بودن بهره مهم نیست بلکه مهم اینه که LMI ها feasible شده باشند و معیار مورد نظر مینیمم یا ماکزیمم شده باشه.
توصیه میکنم اول مطمین بشید که مساله شما یک مساله بهینه سازی محدب هست و بعد از تولباکس متلب یا یالمیپ استفاده کنید
Elham(مهمان)
–
با سلام و عرض ادب.
ضمن تشکر از مطالب بسیار خوب و عالی که در اختیار مخاطبین قرار می دهید.
بنده می خواهم مسئله decay rate و همزمان سازی را در سیستم های آشوب با استفاده از مدل T-Sحل کنم که این مسئله در نهایت به چند LMI منجر خواهد شد که در این LMI ها باید پارامتر آلفا را ماکزیمم کنم(decay rate) و پارامتر بتا را مینیمم کنم (لازم به ذکر است که بتا باید یک مقدار مثبت بسیار کوچک باشد)
اما متاسفانه پس از حل LMI ها مقادیری که ماتریس بهره به خود میگیرد بسیار بزرگ می باشد و باعث ناپایداری سیستم می شود.
که برای حل این مسئله هم از yalmip استفاده کرده ام و هم از متلب که متاسفانه هر دو جواب نمیدهد.
میخواستم ببینم برای حل اینگونه LMI ها روشی غیر از روش های تکراری وجود ندارد؟
واین که در کل اینگونه LMI ها را باید چگونه حل کرد؟
علی جوادی
–
@مسعود,
شما تولباکس YALMIP رو نصب نکردید و بنابراین MATLAB دستوراتی مثل sdpvar رو نمیشناسه. توضیحات تکمیلی در مورد نحوه دانلود و نصب این تولباکس در جلسه ششم وجود داره. همچنین نحوه استفاده از دستورات این تولباکس و solver های مختلف در جلسات هفتم تا نهم به طور کامل توضیح داده شده
مسعود(مهمان)
–
با سلام من پروزه قطار شناورlmiرو دانلود کردم خطای زیرو میده و برنامه ران نمیشه تا نتیجه رو ببینم.
خطا به صورت زیر استundefined function or variable 'sdpvar'
Error in state-feedback-maglev(line27)
xy=sdpvar(n,n);Yy=sdpvar(ni,n);
علی جوادی
–
@مسعود,
مطمین باشید اگه جواب سوالها رو بدونم، کمک میکنم. در مورد آخر هم باید دقیقا خطا رو بگید تا بتونم کمک کنم هرچند تمام جزییات داخل فیلمها موجوده
علی جوادی
–
@ds,
دقیقا. اساسا وقتی فیلتر واگرا بشه اونقدر جوابها نامعقول هستند که کسی نمیگه تخمینگر همگرا شده ولی خطای تخمین زیاده!
ds(مهمان)
–
@علی جوادی,
ضمن تشکر
اینطور که من متوجه شدم، مدرک قابل دفاعی نداریم مگر بر اساس میزان خطایی که در سیستم شبیه سازی شده مشاهده می کنیم متوجه می شویم که فیلتر واگرا شده یا خیر. درسته؟
مسعود(مهمان)
–
مهندس جان من تا حالا چهار تا سوال پرسیدم همش تفره میرین با کلمات بازی میکنین
علی جوادی
–
@مسعود,
بهتره همینجا مساله مطرح بشه تا اگر کسه دیگه ای همین خطا رو دید نحوه رفعش رو هم ببینه.
دقیقا چه خطایی می بینید؟
مسعود(مهمان)
–
با سلام و خسته نباشید اقای دکتر من تعو این بخش پروژه مربوط به قطار شناورو دانلود کردم اونو میخواستم ران کنم نتایجشو ببینم نمیدونم چرا چیزی نمیاد ایا چیز خاصی باید نصب کنم همراه متلب لطفا کمکم کنید اگه میتونید توضیحات بیشترو به ایمیلم بفرستین
با تشکر.
علی جوادی
–
@ds,
با سلام و تشکر از لطف شما
تا حالا هیچ روشی برای اثبات 100 درصد همگرایی ارائه نشده که علتش خطای محاسباته. شما هیچ وقت نمیتونید تضمین بدید که دقت محاسبات بینهایت باشه! البته این مشکل عموما در پیاده سازی عملی (مثلا در میکرو) ممکنه پیش بیاد چون تعداد بیتها محدود بوده و ممکنه منجر به واگرایی بشه اما داخل متلب به خاطر دقت بالا بعیده همچین مشکلی پیش بیاد.
در واقع اول فرم ساده فیلتر پیادهسازی میشه و اگه واگرا شد، راه حلهای مختلف مثل فرم جوزف و یا فرم ریشه دوم فیلتر و امثالهم امتحان میشه. هر کدوم از این موارد میتونند خطای محاسبات رو با سخت افزار یکسان کم کنند و بنابراین ممکنه جلوی واگرایی رو بگیرند
علی جوادی –
@مسعود, بله منظورم همون تولباکس یالمیپ هستش. اون خطایی که گفتید بعد از نصب تولباکس نباید ببینید مگر اینکه خطای دیگری ببینید. مثلا ممکنه مشکل از این باشه که شما solver مورد استفاده در کد رو ندارید که در اینصورت کافیه در دستور sdpsettings نوع solver رو انتخاب نکنید تا خود تولباکس از solver هایی که داره انتخاب کنه
مسعود (مهمان) –
سلام مهندس من مشکلم باز حل نشد ایا منظور شما از تولباکس همان یالمیپ است بله اونو نصب کردم وتستم کردم داخل یالمیپ فقط چنتا سالور بودن . لطفا بیشتر توضیح بدین ببینید تو فیلم فقط روش نصب یالمیپو گفته دیگه راجب ارور برنامه چیزی نگفته که لطفا کمکم کنید
علی جوادی –
@علی, سلام در حال حاضر مشغول تایپ تزم هستم. به محض اینکه تموم شد، مباحث تکمیلی تخمین بهینه از جمله CKF رو شروع میکنم
علی (مهمان) –
سلام . مبحث CKF را چه زمانی ارائه می دهید؟ با تشکر
علی جوادی –
@مسعود, اگر تولباکس رو درست نصب کرده باشید، قطعا نباید همون خطا رو ببینید به خاطر اینکه دستور sdpvar داخل تولباکس تعریف شده. با روشی که در جلسه 6 گفتم (دقیقه 34)، نصب تولباکس رو تست کنید
مسعود (مهمان) –
سلام مهندس راجب خطالی اون برنامه قطار شناور که گفتین یالمیپ رو نصب کنم بازم مشکل حل نشد چکار کنم خطار م قبلا فرستادم.
علی جوادی –
@Elham, داخل ناتساوی ها حاصلضرب آلفا و ایکس و همچنین بتا و اس وجود داره و بنابراین با solver های عادی نمیشه مساله رو حل کرد چون ناتساوی ها اصلا LMI نیستند. پیشنهاد من اینه که شما هر بار آلفا و بتا رو یه مقداری تعیین کنید و مساله feasibility رو حل کنید به جای مینیمم سازی. اگر جواب داد بتا رو کمتر و آلفا رو بیشتر کنید و در غیر اینصورت برعکس عمل کنید. این کار رو تا جایی ادامه بدید تا هم LMI ها feasible بشه و هم تا حد ممکن بتا مینیمم و آلفا ماکزیمم بشه.
Elham (مهمان) –
ممنون از پاسخگویی سریع و دقیقتون. اینکه من از روش تکراری استفاده کردم برای این بود که به عنوان مثال یکبار آلفا را ثابت فرض میکنم بعد نسبت به بتا مینیمم سازی انجام میدهم سپس این روند را برای آلفا به کار میگیرم. مسئله که بنده بر روی آن کار میکنم به شکل زیر است: Maximize α X,S,M1,M2 Minimum β X,S,M1,M2 Subject to X>0, β>0, α>0,S>0 [I S ;S I)]>0 -A1 X+BM1-XA1^T+M1^T B^T-2αX>0 -A2 X+BM2-XA2^T+M2^T B^T-2αX>0 [βS {(A1X – BM_1 )-(A2 X – BM2)}^T; {(A1 X-BM1 )-(A_2 X-BM2)}; I)]>0 با توجه به مسئله بالا یعنی روش حل بنده مشکل داشته است؟ اگر امکانش هست میشه لطف کنید، بگید برای حل اینگونه مسائل باید از چه روشی استفاده کنم؟
ds (مهمان) –
@علی جوادی, تشکر فراوان!!!
علی جوادی –
@Elham, با سلام و تشکر از لطف شما اولا که باید ببینید ناتساوی های شما نسبت به آلفا و بتا خطی هستند یا نه. اگر خطی نباشند، شما دیگه LMI ندارید و ممکنه BMI یا یه ناتساوی غیرخطی باشه. ثانیا معلوم نیست شما چرا از روش تکراری استفاده کردید. اگر LMI داشته باشید نیازی به روش تکراری نیست و به راحتی با تولباکس متلب یا یالمیپ قابل حله. ثالثا بزرگ بودن بهره مهم نیست بلکه مهم اینه که LMI ها feasible شده باشند و معیار مورد نظر مینیمم یا ماکزیمم شده باشه. توصیه میکنم اول مطمین بشید که مساله شما یک مساله بهینه سازی محدب هست و بعد از تولباکس متلب یا یالمیپ استفاده کنید
Elham (مهمان) –
با سلام و عرض ادب. ضمن تشکر از مطالب بسیار خوب و عالی که در اختیار مخاطبین قرار می دهید. بنده می خواهم مسئله decay rate و همزمان سازی را در سیستم های آشوب با استفاده از مدل T-Sحل کنم که این مسئله در نهایت به چند LMI منجر خواهد شد که در این LMI ها باید پارامتر آلفا را ماکزیمم کنم(decay rate) و پارامتر بتا را مینیمم کنم (لازم به ذکر است که بتا باید یک مقدار مثبت بسیار کوچک باشد) اما متاسفانه پس از حل LMI ها مقادیری که ماتریس بهره به خود میگیرد بسیار بزرگ می باشد و باعث ناپایداری سیستم می شود. که برای حل این مسئله هم از yalmip استفاده کرده ام و هم از متلب که متاسفانه هر دو جواب نمیدهد. میخواستم ببینم برای حل اینگونه LMI ها روشی غیر از روش های تکراری وجود ندارد؟ واین که در کل اینگونه LMI ها را باید چگونه حل کرد؟
علی جوادی –
@مسعود, شما تولباکس YALMIP رو نصب نکردید و بنابراین MATLAB دستوراتی مثل sdpvar رو نمیشناسه. توضیحات تکمیلی در مورد نحوه دانلود و نصب این تولباکس در جلسه ششم وجود داره. همچنین نحوه استفاده از دستورات این تولباکس و solver های مختلف در جلسات هفتم تا نهم به طور کامل توضیح داده شده
مسعود (مهمان) –
با سلام من پروزه قطار شناورlmiرو دانلود کردم خطای زیرو میده و برنامه ران نمیشه تا نتیجه رو ببینم. خطا به صورت زیر استundefined function or variable 'sdpvar' Error in state-feedback-maglev(line27) xy=sdpvar(n,n);Yy=sdpvar(ni,n);
علی جوادی –
@مسعود, مطمین باشید اگه جواب سوالها رو بدونم، کمک میکنم. در مورد آخر هم باید دقیقا خطا رو بگید تا بتونم کمک کنم هرچند تمام جزییات داخل فیلمها موجوده
علی جوادی –
@ds, دقیقا. اساسا وقتی فیلتر واگرا بشه اونقدر جوابها نامعقول هستند که کسی نمیگه تخمینگر همگرا شده ولی خطای تخمین زیاده!
ds (مهمان) –
@علی جوادی, ضمن تشکر اینطور که من متوجه شدم، مدرک قابل دفاعی نداریم مگر بر اساس میزان خطایی که در سیستم شبیه سازی شده مشاهده می کنیم متوجه می شویم که فیلتر واگرا شده یا خیر. درسته؟
مسعود (مهمان) –
مهندس جان من تا حالا چهار تا سوال پرسیدم همش تفره میرین با کلمات بازی میکنین
علی جوادی –
@مسعود, بهتره همینجا مساله مطرح بشه تا اگر کسه دیگه ای همین خطا رو دید نحوه رفعش رو هم ببینه. دقیقا چه خطایی می بینید؟
مسعود (مهمان) –
با سلام و خسته نباشید اقای دکتر من تعو این بخش پروژه مربوط به قطار شناورو دانلود کردم اونو میخواستم ران کنم نتایجشو ببینم نمیدونم چرا چیزی نمیاد ایا چیز خاصی باید نصب کنم همراه متلب لطفا کمکم کنید اگه میتونید توضیحات بیشترو به ایمیلم بفرستین با تشکر.
علی جوادی –
@ds, با سلام و تشکر از لطف شما تا حالا هیچ روشی برای اثبات 100 درصد همگرایی ارائه نشده که علتش خطای محاسباته. شما هیچ وقت نمیتونید تضمین بدید که دقت محاسبات بینهایت باشه! البته این مشکل عموما در پیاده سازی عملی (مثلا در میکرو) ممکنه پیش بیاد چون تعداد بیتها محدود بوده و ممکنه منجر به واگرایی بشه اما داخل متلب به خاطر دقت بالا بعیده همچین مشکلی پیش بیاد. در واقع اول فرم ساده فیلتر پیادهسازی میشه و اگه واگرا شد، راه حلهای مختلف مثل فرم جوزف و یا فرم ریشه دوم فیلتر و امثالهم امتحان میشه. هر کدوم از این موارد میتونند خطای محاسبات رو با سخت افزار یکسان کم کنند و بنابراین ممکنه جلوی واگرایی رو بگیرند