一年一度的毕业季又到了,邮寄行李难倒多少人。
辅导员就发一个邮寄标准,给你若干家快递公司,任君挑选。
结果大家都不知道该如何选,面面相觑。
根据我的情况,下面将介绍一下用MATLAB编写代码实现邮费最小化方法。
废话不多说,先看一下学校发的Excel表格。
以山东为例,话不多说,直接上代码:
x=linspace(0,40,41);
y1=[];y2=[];y3=[];y4=[];y5=[];
for x0=x
%德邦
if x0<=3
y1=[y1,11.4];
else
y1=[y1,(11.4+2.4*(x0-3))];
end
%顺丰
if x0<=20
y2=[y2,70.4];
else
y2=[y2,(70.4+2.8*(x0-20))];
end
%邮政
if x0<=1
y3=[y3,8];
else
y3=[y3,(8+2.4*(x0-1))];
end
%申通
if x0<=1
y4=[y4,6];
else
y4=[y4,(6+3*(x0-1))];
end
%京东
if x0<=20
y5=[y5,67];
else
y5=[y5,(67+3.1*(x0-20))];
end
end
plot(x,y1,'y',x,y2,'m',x,y3,'r',x,y4,'g',x,y5,'b')
axis auto
legend('德邦','顺丰','邮政','申通','京东')
xlabel('重量/kg');
ylabel('价格/元');
title('快递资费')
或:
x=0:1:40;
y1=11.4.*(x<=3)+(11.4+2.4*(x-3)).*(x>3);
y2=70.4.*(x<=20)+(70.4+2.8*(x-20)).*(x>20);
y3=8.*(x<=1)+(8+2.4*(x-1)).*(x>1);
y4=6.*(x<=1)+(6+3*(x-1)).*(x>1);
y5=67.*(x<=20)+(67+3.1*(x-20)).*(x>20);
plot(x,y1,'y',x,y2,'m',x,y3,'r',x,y4,'g',x,y5,'b')
axis auto
legend('德邦','顺丰','邮政','申通','京东')
xlabel('重量/kg');
ylabel('价格/元');
title('快递资费');
代码很简短,相信你一定可以看懂的!
运行结果:
通过图片,我们可以很清楚的看到,当邮寄行李较多时,显然顺丰和邮政是最便宜的。
加上数据游标,我们可以很清楚的看到,顺丰仅仅比邮政每公斤多花1.4元,而这两者远远小于其他。因此,邮寄时首选这两家。
当然,每个学校的邮寄费用以及每个省的邮寄费用均不同,根据邮费自主选择最合适的才是王道。
如果喜欢的话,点个赞呗~