MATLAB: Error: File: gsp_opt.m Line: 6 Column: 17 Unexpected MATLAB expression.

unexpected

clc;
clear;
close all;
%Problem Girdileri:
model=createmodel();
costfunction=@x mycost(model,x); <<<<<<<<<<<<<<????
nvar=model.n;
varmin=0;
varmax=1;
varsize=[1 nvar];
%PSO Parametreleri:
maxit=500;
npop=100;
c1=0.2;
c2=0.2;
w=1;
wdamp=0.99; %İndirim Oranı
%Başlangıç
parca.pozisyon=[];
parca.maliyet=[];
parca.sol=[];
parca.best.pozisyon=[];
parca.best.maliyet=[];
parca.best.sol=[];
parca.velocity=[];
parcalar=repmat(parca,npop,1);
gbest.maliyet=inf;
bestcost=zeros(maxit,1);
for i=1:npop;
parcalar(i).pozisyon=unifrnd(varmin,varmax,varsize);
[parcalar(i).maliyet parcalar(i).sol]=costfunction(parcalar(i).pozisyon);
parcalar(i).best.pozisyon=parcalar(i).pozisyon;
parcalar(i).best.maliyet=parcalar(i).maliyet;
parcalar(i).best.sol=parcalar(i).sol;
parcalar(i).velocity=zeros(varsize);
if parcalar(i).best.maliyet<gbest.maliyet;
gbest=parcalar(i).best;
end
end
%PSO Ana Döngü:
for it=1:maxit;
%Hız Vektörünü Güncelleme:
for i=1:npop;
parcalar(i).velocity=w*parcalar(i).velocity+c1*rand(varsize).*(parcalar(i).best.pozisyon-parcalar(i).pozisyon)+c2*rand(varsize).*(gbest.pozisyon-parcalar(i).pozisyon);
%Güncelleme Pozisyonu:
parcalar(i).pozisyon=parcalar(i).pozisyon+parcalar(i).velocity;
[parcalar(i).maliyet parcalar(i).sol]=costfunction(parcalar(i).pozisyon);
%Mutasyon:

newsol.pozisyon=Doreversion(parcalar(i).pozisyon);
[newsol.maliyet newsol.sol]=costfunction(newsol.pozisyon);
if newsol.maliyet<=parcalar(i).maliyet;
parcalar(i).pozisyon=newsol.pozisyon;
parcalar(i).maliyet=newsol.maliyet;
parcalar(i).sol=newsol.sol;
end
%Kişisel En İyiyi Güncelleme:
if parcalar(i).maliyet<parcalar(i).best.maliyet;
parcalar(i).best.maliyet=parcalar(i).maliyet;
parcalar(i).best.sol=parcalar(i).best.sol;
parcalar(i).best.pozisyon=parcalar(i).pozisyon;
end
if parcalar(i).best.maliyet<gbest.maliyet;
gbest=parcalar(i).best;
end
end
%Mutasyon:
newsol.pozisyon=Doreversion(gbest.pozisyon);
[newsol.maliyet newsol.sol]=costfunction(newsol.pozisyon);
if newsol.maliyet<=gbest.maliyet;
gbest=newsol;
end
bestcost(it)=gbest.maliyet;
w=w*wdamp;
figure(1);
plotsolition(gbest.sol.tour,model);
end
%Yazdırma:
figure;
plot(bestcost);
xlabel('İterasyon');
ylabel('En İyi Çözüm')
____________________________________________________
function [z, sol]=mycost(model,x)
[~, tour]=sort(x); <<<<<<<<<<<<????
D=model.D;
n=model.n;
L=0;
for k=1:n;
i=tour(k);
if k<n;
j=tour(k+1);
else
j=tour(1);
end;
L=L+D(i,j);
end
z=L;
sol.tour=tour;
sol.L=L;
end
__________________________________________________________________
function model=createmodel()
x=[57 96 79 40 93 60 58 82 30 53 86 16 60 43 69 91 23 60 86 15];
y=[86 59 53 6 74 23 70 6 35 17 48 87 37 31 45 26 17 75 65 42];
n=numel(x);
D=zeros(n);
for i=1:n-1
for j=i:n
D(i,j)=sqrt((x(i)-x(j))^2+(y(i)-y(j))^2);
D(j,i)=D(i,j);
end
end
model.n=n;
model.D=D;
model.x=x;
model.y=y;
end

Best Answer

costfunction = @(x) mycost(model,x);
^ ^ you need these!