作业帮 > 综合 > 作业

matlab程序解释clearx=[3 1 5 4 0 3 7 9 10 14 17 14 12 10 7 2 6 11

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/18 08:34:57
matlab程序解释
clear
x=[3 1 5 4 0 3 7 9 10 14 17 14 12 10 7 2 6 11 15 19 22 21 27 15 15 20 21 24 25 28 5 17 25 9 9 30 0];
y=[2 5 4 7 8 11 9 6 2 0 3 6 9 12 14 16 18 17 12 9 5 0 9 19 14 17 13 20 16 18 12 16 7 20 15 12 0];
t=[1.50 1.50 0.55 1.20 0.85 1.30 1.20 2.30 1.40 1.50 1.10 2.70 1.80 1.80 0.60 1.50 0.80 1.50 0.80 1.40 1.20 1.80 1.40 1.60 1.60 1.00 2.00 1.00 2.10 1.20 1.90 1.30 1.60 1.20 1.50 1.30 0.00];
i=1:37;
a=1:37;
plot(x,y,'*r')
for ii=1:37
k=int2str(ii);
k=strcat('P',k);
text(x(ii),y(ii),k);
end
w=[i;x;y;t;a];
w(5,:)=0;
jg=zeros(11,11);%´æ•Å11Ìõ•¾¶
for i=1:20
sum=0;
j1=1;
s=0;
m=37;
i3=37;
for j=1:36
if(w(2,j)+w(3,j)>s&w(5,j)==0)
s=w(2,j)+w(3,j);
jg(i,j1)=w(1,j);
sum=w(4,j);
m=j;
else continue;
end
end
w(5,m)=1;
j1=j1+1;
while 1
js=0;
q=40;
for k=1:36
if(q>w(2,m)-w(2,k)+w(3,m)-w(3,k))&w(2,m)>w(2,k)&w(3,m)>w(3,k)&(6-sum)>w(4,k)&w(5,k)==0
q=w(2,m)+w(3,m)-w(2,k)-w(3,k);
js=1;
jg(i,j1)=w(1,k);
i3=k;
else continue;
end
end
w(5,i3)=1;
sum=sum+w(4,i3);
j1=j1+1;
m=i3;
if(w(2,i3)==0&w(3,i3)==0|js==0)
break
end
end
end
kcost=0;
zcost=0;
allcost=0;
n=0;
for u1=1:11
for u2=1:11
if jg(u1,u2)~=0
n=jg(u1,u2);
else continue
end
zcost=zcost+w(4,n)*1.8*(w(2,n)+w(3,n));
end
n=jg(u1,1);
kcost=kcost+0.4*(w(2,n)+w(3,n));
end
allcost=zcost+kcost
zcost
kcost
i=1:11;
time=[i];
time(1,:)=0;
n1=0;
n2=0;
n3=0;
for u4=1:11
for u5=1:11
if jg(u4,u5)~=0
n1=jg(u4,u5);
n2=n2+1;
else continue
end
end
n3=jg(u4,1);
time(1,u4)=((w(2,n3)+w(3,n3))*2)/40;
end
n2
time
allcost =
2.3454e+003
zcost =
2.2134e+003
kcost =
132
n2 =
36
time =
Columns 1 through 9
2.3000 2.2000 2.1000 1.7000 1.4500 1.4000 1.3500 1.1000 1.0500
Columns 10 through 11
1.0000 0.8500
clear
x=[3 1 5 4 0 3 7 9 10 14 17 14 12 10 7 2 6 11 15 19 22 21 27 15 15 20 21 24 25 28 5 17 25 9 9 30 0]; %给矩阵x赋值
y=[2 5 4 7 8 11 9 6 2 0 3 6 9 12 14 16 18 17 12 9 5 0 9 19 14 17 13 20 16 18 12 16 7 20 15 12 0]; %给矩阵y赋值
t=[1.50 1.50 0.55 1.20 0.85 1.30 1.20 2.30 1.40 1.50 1.10 2.70 1.80 1.80 0.60 1.50 0.80 1.50 0.80 1.40 1.20 1.80 1.40 1.60 1.60 1.00 2.00 1.00 2.10 1.20 1.90 1.30 1.60 1.20 1.50 1.30 0.00]; %给矩阵t赋值
i=1:37; %i=1 2 3 4 5 6 7.37
a=1:37; %a同上
plot(x,y,'*r') %在点(x,y)处画‘*’
for ii=1:37 %ii=1 2 3 4 5 6 7 8 ...37
k=int2str(ii); %将ii由整型转到字符串型,再赋给k
k=strcat('P',k); %字符串链接函数,相当于k=P32 P15 P54...
text(x(ii),y(ii),k); %在(x(ii),y(ii))处标上k
end %for循环结束
w=[i;x;y;t;a]; %w为一个矩阵,由矩阵i、x、y、t、a组成
w(5,:)=0; %令矩阵w第5行元素全部为零
jg=zeros(11,11); %创建一个11*11的全零矩阵
for i=1:20 %i=1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
sum=0; %sum赋初值为零
j1=1; %给j1赋值为1
s=0;
m=37;
i3=37;
for j=1:36 %在上一个for循环中的又一个for循环、循环嵌套
if(w(2,j)+w(3,j)>s&w(5,j)==0) %如果w(2,j)+w(3,j)>s 而且w(5,j)==0
s=w(2,j)+w(3,j); %将w(2,j)+w(3,j)赋给矩阵s,在for循环里,w(2,j)为矩阵w第二行
jg(i,j1)=w(1,j); %给矩阵jg赋值
sum=w(4,j); %将矩阵w第四行赋给sum
m=j;
else continue; %if不成立继续循环
end
end
w(5,m)=1; %赋值
j1=j1+1;
while 1
js=0;
q=40;
for k=1:36
if(q>w(2,m)-w(2,k)+w(3,m)-w(3,k))&w(2,m)>w(2,k)&w(3,m)>w(3,k)&(6-sum)>w(4,k)&w(5,k)==0
q=w(2,m)+w(3,m)-w(2,k)-w(3,k);
js=1;
jg(i,j1)=w(1,k);
i3=k;
else continue;
end
end
w(5,i3)=1;
sum=sum+w(4,i3);
j1=j1+1;
m=i3;
if(w(2,i3)==0&w(3,i3)==0|js==0)
break
end
end
end
kcost=0;
zcost=0;
allcost=0;
n=0;
for u1=1:11
for u2=1:11
if jg(u1,u2)~=0
n=jg(u1,u2);
else continue
end
zcost=zcost+w(4,n)*1.8*(w(2,n)+w(3,n));
end
n=jg(u1,1);
kcost=kcost+0.4*(w(2,n)+w(3,n));
end
allcost=zcost+kcost
zcost
kcost
i=1:11;
time=[i];
time(1,:)=0;
n1=0;
n2=0;
n3=0;
for u4=1:11
for u5=1:11
if jg(u4,u5)~=0
n1=jg(u4,u5);
n2=n2+1;
else continue
end
end
n3=jg(u4,1);
time(1,u4)=((w(2,n3)+w(3,n3))*2)/40;
end
n2
time
allcost =
2.3454e+003
zcost =
2.2134e+003
kcost =
132
n2 =
36
time =
Columns 1 through 9
2.3000 2.2000 2.1000 1.7000 1.4500 1.4000 1.3500 1.1000 1.0500
Columns 10 through 11
1.0000 0.8500