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

در این مجموعه، سیستم­ های فازی با یک رویکرد کاملاً کاربردی، از صفر تا صد به زبان ساده همراه با مثال گویا و شبیه­ سازی در محیط متلب، آموزش داده می شوند. علاوه بر تولباکس متلب، برنامه­ های مفیدی  در محیط متلب ارائه می­ شوند که می توانید از این برنامه ­ها و شبیه ­سازی­ ها در پروژه های مربوط به خودتان به راحتی استفاده نمایید. در این مجموعه موارد زیر پوشش داده می شود:

  • مقدمه ای بر منطق فازی

From Classical Logic to Fuzzy Logic

  • ساخت سیستم فازی بر اساس متغیرهای زبانی

Fuzzy systems based on linguistic variables

  • ساخت سیستم فازی بر اساس داده های ورودی و خروجی

Design of Fuzzy Systems from Input-Output Data

  • سیستمهای نرو فازی

Neuro-fuzzy systems

  • آموزش سیستم­ های نروفازی با استفاده از روش هایی مثل گرادیان نزولی، فیلتر کالمن توسعه یافته، فیلتر کالمن نوع دوم، الگوریتم­ های تکاملی مثل ژنتیک، IWO، SSO، PSO و …

Training  of Fuzzy Systems Using Gradient Descent, extended Kalman filter, unscented Kalman filter, particle swarm optimization algorithm, social spider optimization, genetic algorithm, etc.

  • سیستم های فازی خود تنظیم

Self-structuring fuzzy systems, self-organizing fuzzy systems

  • سیستم های فازی نوع دوم و روش های آموزش و بهینه سازی این سیستم ها

Type-2 fuzzy systems and optimization algorithm, Simulation examples in Matlab

  • فازی­ سازی غیرسینگلتون، سیستم های فازی با ورودی فازی

Non-singleton tye-2  fuzzy systems

  • سیستم های فازی نوع دوم جنرال

General type-2 fuzzy systems

  • سیستم های فازی حافظه دار

Recurrent fuzzy systems

  • چند پروژه کاربردی با استفاده از سیستم های فازی

Some useful and practical projects using fuzzy systems

  • حل تمرینات منتخب از کتاب فازی وانگمدرس: دکتر محمدزاده، عضو هیأت علمی دانشگاه دولتی بنابجهت مشاوره و راهنمایی پایان نامه ارشد و دکتری از طریق ایمیل intelligent.controlref@gmail.com تماس بگیرید.

مراجع اصلی: سیستم های فازی و کنترل فازی نوشته وانگ، سیستم های فازی نوع دوم نوشته جری مندل و برخی مقالات از ژورنال های معتبر


جلسه اول:

مقدمه ای بر  منطق فازی


جلسه دوم:

از منطق کلاسیک تا منطق فازی


جلسه سوم:

ساخت سیستم فازی با استفاده از دیتای ورودی-خروجی، سیستم های نرو-فازی، تولباکس متلب برای نرو-فازی


جلسه چهارم:

حل تمرینات منتخب کتاب وانگ ترجمه دکتر تشنه لب


جلسه پنجم:

Fuzzy c-means clustering ، طراحی سیستم فازی بر اساس خوشه بندی


جلسه ششم:

طراحی سیستم فازی بر اساس گرادیان نزولی، back propagation، کاربرد در یک مسئله واقعی


جلسه هفتم:

مقدمه ای بر سیستم های فازی نوع دوم- Interval type-2 fuzzy systems


جلسه هشتم:

پیاده سازی انواع روشهای کاهش نوع در متلب type-reduction methods in Matlab


جلسه نهم:

آموزش تولباکس متلب برای سیستم های فازی نوع دوم بازه ای


جلسه دهم:

آموزش سیستم های فازی نوع دوم بر اساس back propagation


جلسه یازدهم:

آموزش سیستم های فازی نوع دوم با کاهش مرتبه KM, EKM- بر اساس back propagation   و بهینه سازی گرادیان نزولی


جلسه دوازدهم:

تنظیم همه پارامترهای سیستم فازی نوع دوم با کاهش مرتبه KM


جلسه سیزدهم:

تنظیم پارامترهای سیستم های فازی نوع دوم با فیلتر کالمن توسعه یافته


جلسه چهاردهم: 

بهینه سازی سیستم های فازی نوع اول و دوم بر اساس الگوریتم ژنتیک


جلسه پانزدهم: 

بهینه سازی سیستم های فازی نوع اول و دوم بر اساس الگوریتم تجمعی پرندگان


جلسه شانزدهم:

آموزش سیستم های فازی نوع دوم بر اساس روش های مرتبه دوم


جلسه هفدهم:

آموزش سیستم های فازی نوع اول بر اساس PSO


جلسه هجدهم:

آموزش همه پارامترهای سیستم های فازی نوع اول  بر اساس الگوریتم ژنتیک GA


۱۵۴ نظر

  1. با سلام
    فکر میکنم فایل های متلب ناقص باشن. یه راهنمایی کنید این فایل ها کجا قرار دارند
    جلسه اول
    فایل GUI_1.m (مربوط به t نرم s نرم و مکمل)
    جلسه سوم
    فایل های
    control_pandul
    برای شبیه سازی کنترل پاندول معکوس
    FS_Matlab_Tollbax.m
    update.m
    anfiseedit.m
    Initiioal.m

    1. سلام. توجه کنید که در بسیاری از جلسات از تولباکس متلب برای طراحی سیستم فازی یا کنترل کننده فازی استفاده نشده است، بلکه این سیستم ها به صورت ساده کدنویسی شده اند تا به راحتی قابل توسعه به مسائل مختلف باشند. موفق باشین.

    1. به غیر از یکی دو جلسه اول، در بقیه جلسات سیستم ها به صورت نرو-فازی می باشد. بهتر است ابتدا مقدمات این سیستم ها را مطالعه کنید. برای اینکه کدها را به فازی نوع اول تبدیل کنید فقط کافیست در داخل فایلی که برای سیستم فازی نوع دوم بازه ای نوشته شده است، یکی از کرانها را غیرفعال کنید و یا کرانهای بالا و پایین را یکسان در نظر بگیرید. منظورهای کرانهای بالا و پایین قوانین می باشد.
      موفق باشین.

  2. با سلام
    بنده جلسه ۱۵ ام با عنوان ” بهینه سازی سیستم های فازی نوع اول و دوم بر اساس الگوریتم تجمعی پرندگان” رو تهیه کردم ولی متاسفانه از بهینه سازی سیستم فازی نوع اول خبری نیست و الان نیاز شدیدی به فایل های اون بخش دارم
    خواستم بدونم اونا رو ارسال میکنید یا خیر؟

    1. سلام. لطفا فیلم آموزشی را ببینید. کدهای داده شده به راحتی قابل توسعه به انواع شبکه های عصبی-فازی می باشند. موفق باشین.

  3. آقای دکتر من دوتا ورودی دارم که هر ورودی ۷ تابع عضویت دارد. در کل ۴۹ قانون نوشته ام و همین پلنت را با سیستم فازی نوع ۱ امتحان کرده ام و جواب گرفته ام. نمیدونم مشکل کارم کجاست که ارور ابعاد میدهد.۲ تا ورودی دارم و یه تا خروجی که هر ورودی ۷ تابع عضویت دارد و ۴۹ قانون.

    1. دوست عزیز
      با این اطلاعات که معلوم نمیشه ایراد کار شما کجاست
      باید اول شبیه سازی داده شده رو ران کنید جواب بگیرید بعد برای توسعه به سیستم خودتان
      ابعاد را در بلوک های داده شده به دقت تغییر بدید.
      ضمناً لازم نیست همه قوانین ممکن را در نظر بگیرید با تعداد قانونهای کمتر هم میتونید جواب بگیرید.
      ماتریس قوانین رو مطابق اون مثال داده شده بنویسید.
      موفق باشین

  4. با سلام
    سیستم فازی نوع ۲ من ۲ ورودی دارد و منظورتان را متوجه نشدم که فرمودید به ابعاد ورودی و فرم قوانین توجه کنم . اگر امکانش هست بیشتر راهنمایی کنید . ممنون

    1. سلام
      ببینید کجا ارور میده
      مثلاً اگه چهار تا قانون داشته باشین و ۲ هم که ورودی دارین، ماتریس قوانین باید چهار در دو باشه.

      اگه ابعاد ورودی رو تغییر میدید داخل زیربلوک های دیگه نگاه کنید و ابعاد رو اگه لازمه اصلاح کنید.
      نوتیشن استفاده شده در داخل همه بلوکها یکسان است.
      موفق باشین

  5. با سلام
    من کل این آموزش را خریداری کردم.ممنون از زحمات شما
    من روی یک پلنت غیرخطی از سیستم فازی نوع ۲ برای تنظیم ضرایب pid استفاده کردم. ورودی سیستم فازی خظا و مشتق خطا و خروجی آن ضرایب kp,ki,kd میباشد. وقتی میخواهم RUN بگیرم خطای ابعاد میدهد . ابعاد خروجی فازی نوع ۲ را ۳ کرده ام چون سه خروجی داشتم ولی باز هم خطا میدهد. ممنون میشوم راهنمایی ام کنید.

  6. سلام وقتتون بخیر تو کدوم یک از جلسات راجع به متغییرهای زبانی صحبت کردین؟و یه سوال دیگه اینکه تو جلسه ی هشتم علاوه بر روش centroid روشی که توسط kahraman هم ارائه شده رو توضیح دادید؟

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

  8. با سلام.من از دیروز پیگیر خرابی لینک های سایت هستم ولی متاسفانه هیچ پاسخی دریافت نکردم هنوز.من خریداری کردم مبلغ رو هم واریز کردم ولی لینک های ارسالی اصلا کار نمیکنن.

  9. من بخش های ۷ و ۸ و ۹ رو خریداری کردم ولی لینک هایی که فرستاده شدن برام باز نمیشن و Error 404 میاد که فایلی برای دانلود پیدا نشد. ممنون میشم لینک ها رو بررسی کنید

  10. با سلام، من قسمت نهم یعنی تولباکس فازی نوع ۲ رو خریداری کردم. ولی وقتی مثالشو با متلب ۲۰۱۴b اجرا میکنم اصلا اجرا نمیشه، میشه کمک کنید تا مشکلم حل بشه

  11. سلام خدمت استاد عزیز
    سوالی که داشتم اینه که من در صدد طراحی یک سیستم نروفازی نوع ۲ از نوع TSK هستم و توی قسمت کاهش مرتبه و آموزشش گیر کردم، آموزشتون رو تهیه کردم منتها در مورد zero-order و در واقع سینگلتون هست.امکانش هست منو راهنمایی کنین چطور ساختارم رو تشکیل بدم و آموزش مناسبی بهش بدم؟شدیدا گیر همین یک قسمت هستم
    ممنون

    1. @رضا,
      با سلام
      در حالت TSK بردار پارامترهای بخش تالی را باید تبدیل به یک ماتریس کنید با ابعاد w=M*(n+1) که M تعداد قوانین و n تعداد ورودی است. برای کاهش نوع هم باید ضرب این ماتریس در برداری ورودی (w*[1 x’]) را به به جای w به تابع KM بدهید.
      موفق باشین.

  12. سلام
    من خرید کردم . رسید هم داده شده ولی هنوز ایمیل ارسال نشده
    شماره پرداخت ۷۳۵۷
    ۱۸ فروردین
    ممنون میشم اگه زودتر رسیدگی بفرمایید

  13. با سلام متاسفانه با این قیمت های محصولاتتون با تخفیف هم توانایی خریدشو ندارم البته منکر کیفیت و زحمات اساتید نیستم اما دانشجویان شهرستانی اونم دانشگاه آزاد و بیکار براشون سخته تهیه کردن محصولات

  14. سلام آقای دکتر

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

      1. برای مدلسازی یک فرایند به فرم سیستم فازی نوع ۲ آموزشی ارائه شده؟
        اقای دکتر موضوع پایان نامه بنده شناسایی(جعبه سیاه) یک سیستم غیر خطی داری عدم قطعیت (مخزن نفت) به صورتی که بیانگر عدم قطعیت ذکر شده باشه و پیاده سازی یک روش کنترلی برای این فرایند هست. میخواستم ببینم از کدوم آموزش ها میتونم کمک بگیرم
        در ضمن پیش نمایش آموزش ها رو دیدم ولی متاسفانه موفق نشدم اموزش مد نظر رو پیدا کنم
        خیلی خیلی ممنون میشم راهنمایی کنین

        1. @محمد,
          سلام
          مجموعه کنترل فازی-عصبی را هم ببینید
          اگه هیچ اطلاعاتی از دینامیک سیستم نداشته باشید (مثلاً تعداد حالتها و ساختارش) باید از کنترلرهایی مثل PID فازی استفاده کنید یا به صورت آن-لاین یک مدلی را برای سیستم بدست آورید و بر اساس مدل کنترلر طراحی کنید.
          جلسات ۳٫ ۸تا۱۱ رو ببینید احتمالاً مفید باشند براتون.

  15. اوکی،بنده به تولباکس گرافیکی فازی نوع۲ برای استفاده در محیط سیمولینک نیاز دارم باید کدوم جلسه را تهیه کنم؟از تولباکس کدام نویسنده استفاده شده؟ایا سیستم ممدانی را هم پوشش میدهد؟ایا این تولباکس با متلب ۲۰۱۶ ۶۴ بیتی سازگار است؟
    با تشکر

  16. با سلام،من فایل اموزش سیستم فازی نوع۲ با الگوریتم ژنتیک را برای کنترل تهیه کرده ام ،چگونه میتوانیم با نوشتن تابع هزینه توابع عضویت را بهینه کنیم و همانند فازی معمولی فایل fis تولید کنیم یا بتوانیم با متلب فانکشن تو سیمولینک استفاده کنیم؟
    و چطور میتوانیم شکل توابع عضیت را استخراج کنیم؟
    تشکر

    1. @بهزاد,
      سلام
      مشابه پارامترهای بخش تالی، می توانید پارامترهای توابع عضویت را نیز به عنوان متغیر (قسمتی از کروموزمها) در نظر بگیرید و در تابع هزینه نوشته شده، پارامترهای بخش مقدم رو هم مشابه پارامترهای بخش تالی از روی کروموزم بردارید .
      برای کاربردهای کنترلی می توانید مجموعه
      http://www.controlref.com/fnnc_matlab/
      رو ببینید.
      موفق باشین.

  17. با سلام
    در جلسه ۷ که مربوط به سیستم فازی نوع ۲ می باشد در صفحه ۱۸ فایل پی دی اف زمانی که حد بابا و پایین را مشخص کرده برای هر ورودی و سپس tnorm مینیمم را اعمال می کنیم. خروجی به چه شکلی بدست می آید و چرا در خروجی یک قسمتی اضافه تر از حد بالا و پایین(تکه پایین نمودار خروجی) را هم به عنوان خروجی در نظر گرفته ایم؟

    1. @parisa,
      سلام
      اگه از تی-نرم مینیمم استفاده کنیم، حد بالا و پایین درجات فایرینگ قوانین، به جای ضرب، از مینمم حد بالا و پایین درجات عضویت توابع عضویت بدست میاند.
      خروجی سیستم فازی، میانگین حد بالا و پایین تابع عضویت بازه ای خروجی می باشد.
      اگه مطالب اسلایدها رو با کد مقایسه کنید به درک بهتر مطالب کمک خواهد کرد
      موفق باشین.

  18. با سلام حضور محترم استاد بزرگوار
    جناب آقای دکتر اردشیر محمدزاده
    لطفا مقاله و نام تابعی که در مثال جلسه ۱۸ در تابع crossover عنوان شده است را ذکر بفرمائید.
    با تشکر و سپاس فراوان
    محمدرضا
    rand(length(parents)/2,1);}
    parents=reshape(parents,length(parents)/2,2);
    xoverKids=thisPopulation(parents(:,1),:).*(R*ones(1,nvars))+…
    { ((۱-R)*ones(1,nvars)).*thisPopulation(parents(:,2),:);

    1. @محمدرضا,
      سلام
      یک روش خیلی ساده و پرکاربرده که در خیلی از کتابهای مرتبط می توانید پیدا کنید. به این صورت که یک عدد تصادفی تولید می کنیم (R) و جواب جدید را از ترکیب وزندار والدین با این عدد تصادفی تولید شده بدست میاریم.
      child=R*parent_1+(1-R)*parent_2
      R بین صفر و یک می باشد
      موفق باشین.

        1. @محمد هادی,
          موضوعات جلسات مختلف به صورت مختصر در ذیل هر جلسه توضیح داده شده و در چند دقیقه اول به صورت دقیقتر می توانید فهرست مطالب و کلیت موضوع جلسه مربوطه را ببیند.

یک پاسخ بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *