matlab会路线图,Matlab公交查询路线

查询公交路线实验报告

一、功能实现

1.从excel加载数据源模块data

2.出发地是广工公交站,根据选择的目的地会选择有直达模块和转乘模块

二、效果图

1.原Excel数据源结构图​

a4c26d1e5885305701be709a3d33442f.png1-1

2.Data发送到matlab​

a4c26d1e5885305701be709a3d33442f.png1-2

3.起点

a4c26d1e5885305701be709a3d33442f.png1-3

​4.选择目的地,为了测试,数据很小

a4c26d1e5885305701be709a3d33442f.png1-4

5.选择目的为华工,可以直达线路的公交

a4c26d1e5885305701be709a3d33442f.png1-5

​6.目的地为燕塘,需要换乘的公交线路指导

a4c26d1e5885305701be709a3d33442f.png1-6

三、源码

1.从excel加载数据源模块

%从Excel中导入数据

data

a=importdata('I:\复习\大四第一学期\matlab\实验\实验报告\buses.xls','Sheet1');

2.输入起点和判断选择的目的地

%输入的起点

sta=menu('出发地:','广工');

A=['广工'];、

rowheaders={'381路','382路','大学城1线','大学城2线','大学城3线','大学城4线','503路'};

destination={'华师','华工','广外','科韵路','赤岗','棠安路','燕岭大厦','白云索道','动物园南门'};

%判断输入的目的地

des=menu('选择目的地:',destination{:});

for i=1:9

if

des==i

B=destination{i};

end

end

3.直达模块,flag=1

�ta数据

arr =

cell(1);

%arr =cell(1,7);

i=0;

v=0;

flag=0;

for

k=1:7

%7个,角标超过了矩阵的维数

for

f=1:33

3个

ifstrcmp(data{k,f},B)

%1.一次直达

forj=1:33

ifstrcmp(data{k,j},A)

count='选择广工站!';

i=i+1;

h=rowheaders{1,k};

arr{1,i}=sprintf('%s%s',h,'----------------->乘坐到',B,'下车');%使用=

= =

>加上矩阵尺寸必须同意。arr(1,i)=rowheaders(k,1)+'可以乘坐!'

flag=1;

break;

else

if

flag==0

v=k;

end

end

end

else

count='没有选择!';

end

end

end

4.转乘模块,flag02和flag03判断是否重复

%第一次转乘

%arr = cell(1,7);

i=0;

flag02=0;

if flag==0

for

k=1:7

forf=1:33

forz=1:33

ifk~=v

if

strcmp(data{k,f},data{v,z})&&

flag02==0

count='选择广工站!';

i=i+1;

h=rowheaders{1,k};

arr{1,i}=sprintf('%s%s',h,'----------------->乘坐!到',data{k,f},'下车');%使用=

= =

>加上矩阵尺寸必须同意。arr(1,i)=rowheaders(k,1)+'可以乘坐!'

flag02=1;

break;

end

end

end

end

flag02=0;

end

end

%第二次转乘

flag03=0;

if flag==0

for

m=1:7

for n=1:33

for z=1:33

ifstrcmp(data{m,n},data{v,z}) &&

flag03==0

i=i+1;

h=rowheaders{1,v};

arr{1,i}=sprintf('%s%s','转乘',h,'----------------->,','到',B,'下车');

flag03=1;

break

end

end

end

%flag03=0;

end

end

5.显示模块

%disp(arr);

des1=menu('可以乘坐:',arr);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值