رفتن به مطلب

منطق فازی


helen66

ارسال های توصیه شده

سلام

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

 

سیستم های فازی

 

 

سوالتون چیه؟

اونجا رو سر زدم...

میخوام ی جدول قانون فازی ایجاد کنم که مثلا 100تا خودرو داریم که 100 عدد زمان ورود و 100 عدد زمان خروج داره که به عنوان ورودی اند و باید 100 تا خروجی بعنوان مسافت بده.

(این 100 عدد ها رو تصادفی بدست میاریم) و 5 تا متغیر زبانی واسه هر کدوم داریم...سوالم اینه که این 100 عددا که تصادفی اند چطور من جدول براشون تشکیل بدم؟

بعدشم باید 100 تا رول تعریف کنم؟

  • Like 4
لینک به دیدگاه
اونجا رو سر زدم...

میخوام ی جدول قانون فازی ایجاد کنم که مثلا 100تا خودرو داریم که 100 عدد زمان ورود و 100 عدد زمان خروج داره که به عنوان ورودی اند و باید 100 تا خروجی بعنوان مسافت بده.

(این 100 عدد ها رو تصادفی بدست میاریم) و 5 تا متغیر زبانی واسه هر کدوم داریم...سوالم اینه که این 100 عددا که تصادفی اند چطور من جدول براشون تشکیل بدم؟

بعدشم باید 100 تا رول تعریف کنم؟

 

یعنی سیستم فازی بر اساس lookup table می خواین تعریف کنین، نمی دونم تا حالا از این روش استفاده نکردم.

 

شما اینجا 100 تا ورودی مختلف دارین (به عبارتی 100 بار می خواین بهش ورودی بدین)، نه اینکه سیستم فازی تون 100 ورودی باشه، به نظر که دو تا ورودی داره (زمان ورود و زمان خروج) و یه خروجی (مسافت).

هر کدوم از این متغیر های ورودی هم فکر کنم 5 تا membership فانکشن داشته باشن.

 

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

  • Like 5
لینک به دیدگاه
یعنی سیستم فازی بر اساس lookup table می خواین تعریف کنین، نمی دونم تا حالا از این روش استفاده نکردم.

 

شما اینجا 100 تا ورودی مختلف دارین (به عبارتی 100 بار می خواین بهش ورودی بدین)، نه اینکه سیستم فازی تون 100 ورودی باشه، به نظر که دو تا ورودی داره (زمان ورود و زمان خروج) و یه خروجی (مسافت).

هر کدوم از این متغیر های ورودی هم فکر کنم 5 تا membership فانکشن داشته باشن.

 

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

 

منظورتون اینه که باlookup table نمیشه؟؟

میخوایم بازای هر جفت عدد ی خروجی بده .هر ورودی 5 تا تابع عضویت داره و خروج هم همینظور.

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

  • Like 4
لینک به دیدگاه
منظورتون اینه که باlookup table نمیشه؟؟

میخوایم بازای هر جفت عدد ی خروجی بده .هر ورودی 5 تا تابع عضویت داره و خروج هم همینظور.

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

 

گفتم lookup table استفاده نکردم، نمی تونم نظری بدم.

  • Like 5
لینک به دیدگاه
گفتم lookup table استفاده نکردم، نمی تونم نظری بدم.

 

[h=2][/h]

مهندس راه حل دیگه ای سراغ ندارید که از lookup table استفاده نکنیم؟

  • Like 4
لینک به دیدگاه

مهندس راه حل دیگه ای سراغ ندارید که از lookup table استفاده نکنیم؟

 

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

  • Like 5
لینک به دیدگاه
حالت عادی که همون تابع تعلق های ورودی و خروجی، همینطور قانونا رو به متلب میدین، سیستم فازیتون بدست میاد، بعد می تونین ورودی بدین و خروجی رو بهتون بده.

 

تا اینجا که ورودی ها و خروجی ها رو تعریف میکنیم و همینطور رول هارو میدونم ولی بعدش چطور باید ورودی بدم که خروجی مشخص بشه؟؟منظورم اینه که کجا باید ورودی رو وارد کنم؟؟؟

  • Like 5
لینک به دیدگاه
تا اینجا که ورودی ها و خروجی ها رو تعریف میکنیم و همینطور رول هارو میدونم ولی بعدش چطور باید ورودی بدم که خروجی مشخص بشه؟؟منظورم اینه که کجا باید ورودی رو وارد کنم؟؟؟

 

از یه موتور استنتاجی فازی استفاده می کنین تا با در نظر گرفتن این قانونا و ورودی تون خروجی رو بدست بیاره. اگه با متلب می خواین بنویسین، همون فازی رو توی هلپ تایپ کنین، مثال داره.

  • Like 5
لینک به دیدگاه
ممنونم بابت راهنماییهاتون...ی کم روش فکر کنم ببینم به نتیجه می رسم یا نه!

بازم مرسی:a030:

ببخشید دوباره مزاحم میشم...ورودی ها و خروجی رو با تعریف کردم ولی با هلپ متلب متوجه نشدم چطور دوتا ورودی به سیستم بدم و خروجی بگیرم...میتونید ی کم راهنماییم کنید؟؟؟؟؟

  • Like 4
لینک به دیدگاه
ببخشید دوباره مزاحم میشم...ورودی ها و خروجی رو با تعریف کردم ولی با هلپ متلب متوجه نشدم چطور دوتا ورودی به سیستم بدم و خروجی بگیرم...میتونید ی کم راهنماییم کنید؟؟؟؟؟

 

راستی من سیستم فازیم رو با gui طراحی کردم چه طوری میتونم براش کد بنویسم ؟؟؟برای اینکه ورودی بدیم باید کدشو بنویسیم یا تو gui هم میشه؟

  • Like 4
لینک به دیدگاه
ببخشید دوباره مزاحم میشم...ورودی ها و خروجی رو با تعریف کردم ولی با هلپ متلب متوجه نشدم چطور دوتا ورودی به سیستم بدم و خروجی بگیرم...میتونید ی کم راهنماییم کنید؟؟؟؟؟

 

مثال خود متلب هم فکر کنم دو تا ورودی داره.

 

راستی من سیستم فازیم رو با gui طراحی کردم چه طوری میتونم براش کد بنویسم ؟؟؟برای اینکه ورودی بدیم باید کدشو بنویسیم یا تو gui هم میشه؟

 

بعد از تعریف سیوش کنین، readfis داخل متلب لودش کنین، بعد هم با evalfis بهش ورودی بدین. تمام ورودی ها رو هم می تونین به صورت ماتریسی بهش بدین، هر ستون یه وردی رو نشون میده. از ruleview هم می تونین برای نمایشش استفاده کنین.

  • Like 5
لینک به دیدگاه
مثال خود متلب هم فکر کنم دو تا ورودی داره.

 

 

 

بعد از تعریف سیوش کنین، readfis داخل متلب لودش کنین، بعد هم با evalfis بهش ورودی بدین. تمام ورودی ها رو هم می تونین به صورت ماتریسی بهش بدین، هر ستون یه وردی رو نشون میده. از ruleview هم می تونین برای نمایشش استفاده کنین.

مهندس ارور میده:

fismat1=readfis('gu1')

Error using readfis (line 52)

No such file or directory

خط 52 تو ام فایل:

error(errorStr);

ببخشید چیو باید اصلاح کنم؟؟

  • Like 3
لینک به دیدگاه
مهندس ارور میده:

fismat1=readfis('gu1')

Error using readfis (line 52)

No such file or directory

خط 52 تو ام فایل:

error(errorStr);

ببخشید چیو باید اصلاح کنم؟؟

 

فایل رو پیدا نمی کنه، به همین اسم سیو کردین؟

 

توی current folder (مسیر فعلی متلب) هست؟

  • Like 3
لینک به دیدگاه
فایل رو پیدا نمی کنه، به همین اسم سیو کردین؟

 

توی current folder (مسیر فعلی متلب) هست؟

 

دررست شد مرررسسسی:a030:

شرمنده ی سوال دیگه:200 تا عدد ورودی رو باید یکی یکی وارد کنم؟؟؟یا میشه با randn() تو دستور evalfis بنویسم؟؟؟؟؟؟؟؟؟؟

  • Like 3
لینک به دیدگاه
دررست شد مرررسسسی:a030:

شرمنده ی سوال دیگه:200 تا عدد ورودی رو باید یکی یکی وارد کنم؟؟؟یا میشه با randn() تو دستور evalfis بنویسم؟؟؟؟؟؟؟؟؟؟

 

خواهش می کنم، آره می تونین یه ماترسی 100 در 2 به عنوان ورودی بدین، خروجی یه ماتریس 100 در 1 میده. ماتریس ورودی تون باید به تعداد ورودی های سیستم ستون داشته باشه، اینجا دو تا ستون باید داشته باشین.

  • Like 3
لینک به دیدگاه
خواهش می کنم، آره می تونین یه ماترسی 100 در 2 به عنوان ورودی بدین، خروجی یه ماتریس 100 در 1 میده. ماتریس ورودی تون باید به تعداد ورودی های سیستم ستون داشته باشه، اینجا دو تا ستون باید داشته باشین.

 

منظورتونه اینه که باید همه اعداد رو یکی یکی وارد کنمممم؟؟؟؟؟؟؟؟؟؟؟؟:ws52::icon_pf (34):

  • Like 3
لینک به دیدگاه
منظورتونه اینه که باید همه اعداد رو یکی یکی وارد کنمممم؟؟؟؟؟؟؟؟؟؟؟؟:ws52::icon_pf (34):

 

100 تا مگه نبود؟

گفتم که می تونین یه ماتریسی که 100 تا سطر داره، به تعداد دفعاتی که می خواین ورودی بدین در واقع، همه رو داخل یه ماترسی قرار بدین، چون سیستمتون دو تا ورودی داره، پس این ماتریس ورودی ها باید دو تا ستون داشته باشه، ستون اول برای ورودی اولش، ستون دوم هم برای ورودی دومش.

  • Like 3
لینک به دیدگاه
×
×
  • اضافه کردن...