نمايش پست تنها
قديمي ۰۵-۲۸-۱۳۹۳, ۰۵:۴۳ بعد از ظهر   #3 (لینک دائم)
alireza208 Male
عضو جدید
 
آواتار alireza208
 
تاريخ عضويت: مرداد ۱۳۹۳
پست ها: 4
تشكرها: 1
0 تشكر در 0 پست
پيش فرض

نقل قول:
نوشته اصلي بوسيله ramin4251 نمايش پست
شما نياز به بازنويسي كدها نداشتيد. با يك حلقه for ميتونستيد اينكار رو داخل تابع هزينه خودتون اصلاح كنيد. هيچ نيازي به تغيير نبود.
ولي در مورد سوالتون بايد بگم كه بله، بودند افرادي كه الگوريتم رو در C و #C نوشتند و جواب هاي خوبي گرفتن. مقالاتشون هم در ژورنالهاي مختلف چاپ شده.

لطفا و خواهشا کمی بیشتر توضیح بدهید.منظورتون از اصلاح تابع هزینه با حلقه for چی هستش؟ با این کار چی به چی تبدیل می شه؟ منظورتون اینکه در الگوریتم فاخته شما بدون تبدیل و تغییر کدها و فقط با یک حاقه for در تابع هزینه ان را به شکل ماتریسی تبدیل کنم تا الگوریتم فاخته بتونه قبولش کنه و حلش کنه؟ اگر بخواهم از کد شما بدون تغییر و بصورت ماتریسی استفاده کنم با یک حلقه for مشکل حل می شه؟ بعنوان مثال تو کد زیر که برای تابع راستریگین برداری هستش حقله را به کجا و چی پارامتری برای حاقه اضافه کنم تا ماتریسی شود؟


function [y] = rastr(xx)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% INPUT:
%
% xx = [x1, x2, ..., xd]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
d = length(xx);
sum = 0;
for ii = 1:d
xi = xx(ii);
sum = sum + (xi^2 - 10*cos(2*pi*xi));
end
y = 10*d + sum;
end

ایا امکان داره مقالاتی که در انها الگوریتم شما را بازنویسی کردن معرفی کنید . لازمه بفهمم اشکال کارم کجاست تا درک بهتری از الگوریتم شما داشته باشم
alireza208 آفلاين است   پاسخ با نقل قول