نقل قول:
نوشته اصلي بوسيله 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
ایا امکان داره مقالاتی که در انها الگوریتم شما را بازنویسی کردن معرفی کنید . لازمه بفهمم اشکال کارم کجاست تا درک بهتری از الگوریتم شما داشته باشم