Artificial Intelligence - هوش مصنوعی  
انجمن را در گوگل محبوب کنيد :

بازگشت   Artificial Intelligence - هوش مصنوعی > متفرقه > نرم افزار MATLAB


 
تبليغات سايت
Iranian Association for the Advancement of Artificial Intelligence
ارسال تاپيک جديد  پاسخ
 
LinkBack ابزارهاي تاپيک نحوه نمايش
قديمي ۰۴-۳۰-۱۳۹۱, ۰۱:۰۶ بعد از ظهر   #1 (لینک دائم)
عضو فعال
 
آواتار slicing
 
تاريخ عضويت: آذر ۱۳۹۰
پست ها: 13
تشكرها: 2
1 تشكر در 1 پست
پيش فرض درخواست كمك

با سلام
امكان داره كسي بهم كمك كنه و بگه چجوري ميشه فرمول زیرو با متلب با یه تابع نوشت.ممنون میشم كمكم كنید.
این فرمول باید بیشترین مقدار(max) را بین دو قاعده (شرطی)زیر پیدا كنه.قواعد عبارتند از:
1- اگر i با j (ورودی ها) برابر باشند انگاه برابر با صفر است در غیر این صورت برابر با abs(i-j)
2-اگر i با k (ورودی ها) برابر باشند انگاه برابر با صفر است در غیر این صورت برابر با abs(i-k
یعنی ابتدا 1 و بعد 2 رو محاسبه كنه بعد بیشترین مقدار بین این دو تا را به دست بیاره. i وj و k هر سه عدد صحیح هستند.
البته عكس فرمولي رو كه ميخوام و بالا توضيح دادم رو تو فايل 1يوستي ميتونيد ببينه. عكسش قابل فهم تره

ويرايش شده توسط slicing; ۰۴-۳۰-۱۳۹۱ در ساعت ۰۱:۴۲ بعد از ظهر دليل: فزودن فايل پيوستي
slicing آفلاين است   پاسخ با نقل قول

  #ADS
نشان دهنده تبلیغات
تبليغگر
 
 
 
تاريخ عضويت: -
محل سكونت: -
سن: 2010
پست ها: -
 

نشان دهنده تبلیغات is online  
قديمي ۰۴-۳۰-۱۳۹۱, ۰۱:۲۲ بعد از ظهر   #2 (لینک دائم)
عضو فوق فعال
 
آواتار md_azizian
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 23
تشكرها: 2
6 تشكر در 5 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله md_azizian نمايش پست
سلام فایل پیوستی پس کو؟
نمیدونم شاید با این جمله جوابت به دست بیاد
p=max(abs(i-j),abs(i-k))
md_azizian آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۳۰-۱۳۹۱, ۰۱:۴۷ بعد از ظهر   #3 (لینک دائم)
عضو فعال
 
آواتار slicing
 
تاريخ عضويت: آذر ۱۳۹۰
پست ها: 13
تشكرها: 2
1 تشكر در 1 پست
پيش فرض

سلام
فايل پيوستي رو دوباره براتون ميذارم.ممنون.


ويرايش شده توسط slicing; ۰۴-۳۰-۱۳۹۱ در ساعت ۰۱:۵۱ بعد از ظهر دليل: درج دوبار عكس
slicing آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۳۰-۱۳۹۱, ۰۲:۲۲ بعد از ظهر   #4 (لینک دائم)
عضو فوق فعال
 
آواتار md_azizian
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 23
تشكرها: 2
6 تشكر در 5 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله arezoojuju نمايش پست
سلام
فايل پيوستي رو دوباره براتون ميذارم.ممنون.

پاسخ همونیه که برات گذاشتم فقط
abs(j-k)
باید بهش اضافه شه
+p
هم در صورت مسیله قبلی نداشت اونم به هر یک از جملات اضافه کن
q=max((abs(i-j)+p),(abs(i-k)+p),(abs(j-k)+p))
md_azizian آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۳۰-۱۳۹۱, ۰۴:۱۵ بعد از ظهر   #5 (لینک دائم)
عضو فوق فعال
 
آواتار md_azizian
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 23
تشكرها: 2
6 تشكر در 5 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله mahdiii نمايش پست
p چیه؟ اگه مثبت باشه q=max((abs(i-j)+p),(abs(i-k)+p),(abs(j-k)+p)) کفایت می کنه و دزسته ولی اگه مقدارش منفی باشه و طوری باشه که تمام عبارات abs(i-j)+p و abs(i-k)+p و abs(j-k)+p منفی بشه پس max آنها منفی میشه که غلطه چون بر اساس اونچه که تو تصویره جواب باید بزرگتر یا مساوی صفر بشه. بنابراین می تونیم عمل بالا رو به صورت زیر تصحیح کنیم:

q=max((abs(i-j)+p),(abs(i-k)+p),(abs(j-k)+p))
if (q<0)
q=0;
end
سلام
جواب اولیه من غلط بود زیرا اگه
i=j=k
باشه در اون صورت باید جواب صفر در بیاد در صورتی که در جواب پیشنهادی من برای این حالت جواب برابر p در میاد
بنابراین شاید بهتر باشه اول تک تک عبارات را تعیین تکلیف کنیم به صورت زیر
if i==j
p1=0
else p1=abs(i-j)+p
end
if i==k
p2=0
else p2=abs(i-k)+p
end
if k==j
p3=0
else p3=abs(k-j)+p
end
q=max(p1,p2,p3)
این طوری به نظر من بهتره
md_azizian آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۳۰-۱۳۹۱, ۰۴:۱۸ بعد از ظهر   #6 (لینک دائم)
عضو فوق فعال
 
آواتار md_azizian
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 23
تشكرها: 2
6 تشكر در 5 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله mahdiii نمايش پست
راه حل دوستمون کاملا غلطه چون اگه مثلا i=2 و j=2 و k=5 باشه پاسخ میشه: Max(0,3+p,3+p) که به مقدار p بستگی داره اگه p+3 منفی بشه ماکسیمم صفره در غیر این صورت 3+p هست و اگه i=j=k بود جواب صفره که با راه حل دوستمون صرفنظر از مقدار p بازم غلطه.
بنابراین باید نوشت:

If(i==j)
q1=0;
else
q1=abs(i-j)+p;
end
if(i==k)
q2=0;
else
q2=abs(i-k)+p;
end
if(j==k)
q3=0;
else
q3=abs(j-k)+p;
end
res=max([q1,q2,q3]);
داش مهدی سلام
جوابمونو هر دو با هم اصلاح کردیم
ممنون از دقت نظرت
md_azizian آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۳۰-۱۳۹۱, ۰۴:۲۵ بعد از ظهر   #7 (لینک دائم)
Active users
 
آواتار mahdiii
 
تاريخ عضويت: اسفند ۱۳۸۸
محل سكونت: مشهد
پست ها: 355
تشكرها: 27
167 تشكر در 131 پست
My Mood: Khoshhal
پيش فرض

آره کپی هم نوشتیم
:-)
mahdiii آفلاين است   پاسخ با نقل قول
از mahdiii تشكر كرده است:
slicing (۰۴-۳۱-۱۳۹۱)
قديمي ۰۴-۳۰-۱۳۹۱, ۱۰:۱۵ بعد از ظهر   #8 (لینک دائم)
عضو فعال
 
آواتار slicing
 
تاريخ عضويت: آذر ۱۳۹۰
پست ها: 13
تشكرها: 2
1 تشكر در 1 پست
پيش فرض

سلام
ممنون ازتون كه اينقدر سريع بهم جواب دادين.
slicing آفلاين است   پاسخ با نقل قول
قديمي ۰۴-۳۱-۱۳۹۱, ۰۵:۴۴ بعد از ظهر   #9 (لینک دائم)
عضو فوق فعال
 
آواتار md_azizian
 
تاريخ عضويت: اسفند ۱۳۹۰
پست ها: 23
تشكرها: 2
6 تشكر در 5 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله arezoojuju نمايش پست
سلام
ممنون ازتون كه اينقدر سريع بهم جواب دادين.
خواهش میکنم
خوشحال میشم بتونم کمکی بکنم
md_azizian آفلاين است   پاسخ با نقل قول
از md_azizian تشكر كرده است:
slicing (۰۴-۳۱-۱۳۹۱)
قديمي ۰۴-۳۱-۱۳۹۱, ۱۰:۴۱ بعد از ظهر   #10 (لینک دائم)
عضو فعال
 
آواتار slicing
 
تاريخ عضويت: آذر ۱۳۹۰
پست ها: 13
تشكرها: 2
1 تشكر در 1 پست
پيش فرض

با سلام
من كدي كه شما بهم كمك كرديد رو در متلب به صورت يك تابع به صورت زير نوشتم.
function z = My_Fun(x,y,k)
if x==y
p1=0;
else
p1=abs(x-y);
end
if x==k
p2=0;
else
p2=abs(x-k);
end
if k==y
p3=0;
else
p3=abs(k-y);
end
p4=max(p1,p2);
z=max(p4,p3);
end

اما وقتي كه ميخوام داخل الگوريتم رقابت استعماري استفاده كنم خطاي زيرو ميده.اگه امكان داره بهم كمك كنيد تا اين اشكال رفع بشه.

Error using My_Fun (line3(
Not enough input arguments.

Error in ImperialistCompetitveAlgorithm_GlobalOptimizationS trategy (line 81(
InitialCost = feval(ProblemParams.CostFuncName,InitialCountries
slicing آفلاين است   پاسخ با نقل قول
پاسخ



كاربران در حال ديدن تاپيک: 1 (0 عضو و 1 مهمان)
 

قوانين ارسال
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is فعال
شکلکها فعال است
كد [IMG] فعال است
كدهاي HTML غير فعال است
Trackbacks are فعال
Pingbacks are فعال
Refbacks are فعال




زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۱۱:۱۹ قبل از ظهر ميباشد.


Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.

Teach and Learn at Hexib | Sponsored by www.Syavash.com and Product In Review

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

Inactive Reminders By Icora Web Design