دانلود کد رایگان الگوریتم ازدحام ذرات (PSO) برای برازش منحنی در متلب


دانلود کد رایگان الگوریتم ازدحام ذرات (PSO) برای درونیابی و برازش منحنی در متلب

 

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

از یک زاویه دید متفاوت، می توان مسأله برازش منحنی را به صورت یک مسأله بهینه سازی مطرح نمود و با استفاده از الگوریتم های بهینه سازی (اعم از کلاسیک و یا متاهیوریستیک) به حل آن پرداخت. به عنوان یک انتخاب مناسب، ما به سراغ الگوریتم بهینه سازی ازدحام ذرات یا PSO رفته ایم و کد مربوط به حل مسأله برازش منحنی با استفاده از الگوریتم PSO را در محیط متلب پیاده سازی کرده ایم. این کد به صورت رایگان توسط متلب سایت در اختیار مخاطبین و مراجعین محترم قرار گرفته است. لطفا به ادامه مطلب توجه فرمایید.


دانلود کد رایگان الگوریتم ازدحام ذرات (PSO) برای درونیابی و برازش منحنی در متلب

 

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

از یک زاویه دید متفاوت، می توان مسأله برازش منحنی را به صورت یک مسأله بهینه سازی مطرح نمود و با استفاده از الگوریتم های بهینه سازی (اعم از کلاسیک و یا متاهیوریستیک) به حل آن پرداخت. به عنوان یک انتخاب مناسب، ما به سراغ الگوریتم بهینه سازی ازدحام ذرات یا PSO رفته ایم و کد مربوط به حل مسأله برازش منحنی با استفاده از الگوریتم PSO را در محیط متلب پیاده سازی کرده ایم. این کد به صورت رایگان توسط متلب سایت در اختیار مخاطبین و مراجعین محترم قرار گرفته است.

در حال حاضر این برنامه، برای کشف ارتباط ریاضی میان دو متغیر x(مثلا x و y) پیاده سازی شده است و تابع نهایی را به صورت یک چند جمله در نظر گرفته است. البته با اعمال تغییراتی در این برنامه، می توانید از آن برای برازش به شکل منحنی های پارامتری، با نوع و تعداد پارامتر دلخواه، استفاده نمایید.

 

لینک دانلود

لینک دانلود کد الگوریتم ازدحام ذرات (PSO) برای برازش منحنی در متلب در ادامه قرار گرفته است:

کد الگوریتم ازدحام ذرات (PSO) برای درونیابی و برازش منحنی در متلب

 

اگر قصد دارید که در خصوص نحوه کارکرد و برنامه نویسی الگوریتم بهینه سازی ازدحام ذرات یا PSO اطلاعات بیشتری کسب نمایید، و یا قصد آموزش این الگوریتم را دارید، پبشنهاد می کنیم که از محصولات آموزشی متلب سایت که در ارتباط با الگوریتم PSO هستند، استفاده نمایید. فهرستی از این محصولات در ادامه آمده است:

بسته طلایی فیلم های آموزشی الگوریتم PSO (به زبان فارسی) [کد محصول: MVRPS9011] برای دریافت اطلاعات بیشتر به این لینک مراجعه نمایید.

فیلم آموزشی تئوری و عملی برنامه نویسی الگوریتم PSO در محیط متلب (به زبان فارسی) [کد محصول: MVRPS9011AB] برای دریافت اطلاعات بیشتر به این لینک مراجعه نمایید.

فیلم آموزشی پیاده سازی ترکیب الگوریتم ژنتیک و PSO در محیط متلب (به زبان فارسی) [کد محصول: MVPGAPS101] برای دریافت اطلاعات بیشتر به این لینک مراجعه نمایید.

 

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

پس از دانلود فایل فشرده و استخراج فایل های درون آن، در محیط نرم افزار متلب، مسیر جاری را به فولدری که حاوی فایل های برنامه است، تغییر دهید. سپس با تایپ دستور pso برنامه اجرا می شود.

همچنین برای تغییر اطلاعات مسأله حل شونده، می توانید مقادیر عبارت های data.x و data.y را در ابتدای فایل pso.m تغییر دهید.

 

نمونه ای از نتایج به دست آمده از اجرای برنامه

در ادامه برای چند مسأله نمونه، نتیجه نهایی ارائه شده توسط الگوریتم PSO نمایش داده شده است:

 

خروجی برنامه برای برازش منحنی به صورت چند جمله ای درجه سه
$$y = a_0 + a_1 x + a_2 x^2 + a_3 x^3$$

خروجی برنامه برای برازش منحنی به صورت چند جمله ای درجه سه

 

خروجی برنامه برای برازش منحنی به صورت سهمی
$$y = a_0 + a_1 x + a_2 x^2$$

خروجی برنامه برای برازش منحنی به صورت سهمی

 

خروجی برنامه برای برازش منحنی به صورت کسر مسلسل
$$y = a_0 + \frac{a_1}{ x + \frac{a_2}{ x+ \frac{a_3}{ x + \frac{a_4}{ x + a_5}}}}$$

خروجی برنامه برای برازش منحنی به صورت کسر مسلسل

7 پاسخ
  1. جواد ابراهیمی
    جواد ابراهیمی says:

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

    پاسخ دادن
  2. morteza
    morteza says:

    سلام.در حین اجرای برنامه
    ??? Undefined function or method ‘unifrnd’ for input arguments of type
    ‘double’.

    Error in ==> pso at 80
    particle(i).Position=unifrnd(VarMin,VarMax,VarSize);
    با مشکل بالا مواجه می شم. ممنون می شم راهنمایی کنید.

    پاسخ دادن
    • smk
      smk says:

      در پاسخ morteza:
      سلام.
      لطفا از نسخه R2009b و یا بالاتر استفاده نمایید. همچنین نرم افزار متلب را به طور کامل نصب کنید.
      خطای ارائه شده، نشان می دهد که تابع unifrnd در سیستم شما وجود ندارد که در تولباکس (جهبه ابزار) آمار است.

      پاسخ دادن

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

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

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>