数学建模2011年交巡警平台题目matlab进行数据练习

题目:
在这里插入图片描述题目给出的数据:
在这里插入图片描述

还有城市中平台和道路设置的图示。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

本次练习的目的:
主要熟悉matlab导入excel数据,编写matlab程序对数据进行处理
练习需要完成的目标:
通过编写matlab程序,计算出所有路口到任意一个平台的距离,以及交警赶到的时间(分钟)

我的练习代码:

%路口矩阵有三列:标号,横坐标,纵坐标
lukou=xlsread("cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls",'A2:C583');
%平台位置,数据位于第三个sheet中
pingtai=xlsread("cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls",3,'B2:B21');
%先写入test.xlsx这个文件中,测试一下,成功,现在注释掉

%转换pingtai ,到lukou中去查找对应编号,找到坐标
for i=1:582%路口
    for j=1:20%平台数
        if pingtai(j,1)==lukou(i,1)%平台的编号=路口的编号
            pingtai(j,2)=lukou(i,2);%把路口坐标给pingtai矩阵
            pingtai(j,3)=lukou(i,3);
            
        end
    end
end
%平台坐标处理,pingtai变量中
xlswrite("平台编号和位置坐标.xlsx",pingtai);
%计算距离
i=1;j=1;
%D=blanks(582,20);%创建空的矩阵用zeros
D=zeros(580,20);
time=zeros(580,20);

for i=1:582%路口个数
    for j=1:20%平台个数
        %计算每一个路口到所有平台的距离
        D(i,j)=sqrt((pingtai(j,2)-lukou(i,2))^2+(pingtai(j,3)-lukou(i,3))^2);
        %数据单位统一 乘以100化为米,然后再除以1000化为分钟,总之是除以10即可
        time(i,j)=D(i,j)./10;        
    end
end
xlswrite("每个路口到平台的距离矩阵.xlsx",D);
xlswrite("每个路口到平台的时间矩阵.xlsx",time);

练习结果

【1】输出每个路口到平台的距离
在这里插入图片描述

【2】输出每个路口到平台的时间(分钟),交警需要赶到的时间是3分钟,所以三分钟是一个界限。
在这里插入图片描述

【总结】
本次练习,主要是在阅读2011年B题优秀论文的时候想自己练一下matlab的编程能力。
通过这次练习,对matlab在建模比赛中的应用有了更深的理解,使用更熟练。

另外,总结一下一种问题的处理:一个数组给的是编号,需要链接到另一个数组中,找到对应编号并且找到对应的坐标位置。 上面代码可以供参考。

发布了113 篇原创文章 · 获赞 69 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/shizheng_Li/article/details/100166862
今日推荐