各位大哥,小弟新手在写matlab一个仓库路径优化的code,但一直都run不过去,但看不出来哪一步出错,想请教一下各位大佬
Error: File: sp.m Line: 52 Column: 31
Invalid expression. When calling a function or indexing a variable, use parentheses. Otherwise, check for
mismatched delimiters.
Error in d (line 9)
SP=sp(n)
function SP=sp(n)
for i=1:2
if rem(i,2)==1
d(i,i+2)=(max(n(i,1), n(i+1,1))+2)*2+9;
else
d(i,i+2)=(24-min(n(i+1,2), n(i+2,2))+2+2)*2+11;
end
end
for i=3:4
if rem(i,2)==1
d(i,i+2)=(max(n(i,1), n(i+1,1))+2)*2+11;
else
d(i,i+2)=(24-min(n(i+1,2), n(i+2,2))+2+2)*2+11;
end
end
for i=5
d(i,i+2)=(max(n(i,1), n(i+1,1))+2)*2+11;
end
d(6,8)=9;
d(7,9)=9;
d(9,10)= (max(n(i,1), n(i+1,1))+2)*2;
for i=1:2
if rem(i,2)==1
d(i,i+1)=37;
else
d(i,i+3)=39;
end
end
for i=3:4
if rem(i,2)==1
d(i,i+1)=39;
else
d(i,i+3)=39;
end
end
for i=5:6
if rem(i,2)==1
d(i,i+1)=39;
else
d(i,i+3)=37;
end
end
for i=7
d(i,i+1)=37;
end
d(8,10)=28;
pl(1)=0;
pl(2)=d(1,2);
pl(3)=d(1,3);
for i=4:10
if rem(i,2)==0
pl(i)=min((pl(i-1)+d(i-1,i),(pl(i-2)+d(i-2,i)));
else
pl(i)=min((pl(i-2)+d(i-2,i),(pl(i-3)+d(i-3,i)));
end
end
SP=pl(10)
end
end
第二段
%mainfuntion
clc
clear
n(1,1)=10;n(1,2)=10;n(2,1)=22;n(2,2)=22;
n(3,1)=18;n(3,2)=16;n(4,1)=12;n(4,2)=12;
n(5,1)=14;n(5,2)=14;n(6,1)=12;n(6,2)=12;
n(7,1)=0;n(7,2)=0;n(8,1)=0;n(8,2)=0;
n(9,1)=16;n(9,2)=6;n(10,1)=12;n(10,2)=12;
SP=sp(n)