将变量添加到数组matlab中

时间:2014-11-28 12:26:22

标签: arrays matlab

我试图建立一个问题,提到如何从阿拉德到布加勒斯特旅行 你可以在这里看到罗马尼亚的地图:
romania's map

我的代码:

clc;clear
goal='bucharest';
list=cell(20,5);
n=cell(20,5);

'city';
n{1,1}='arad';
n{1,2}='zerind';
n{1,3}='sibiu';
n{1,4}='timisoara';

'city';
n{2,1}='zerind';
n{2,2}='arad';
n{2,3}='oradea';

'city';
n{3,1}='sibiu';
n{3,2}='arad';
n{3,3}='oradea';
n{3,4}='fagaras';
n{3,5}='rimnicu vilcea';

'city';
n{4,1}='timisoara';
n{4,2}='arad';
n{4,3}='lugoj';

'city';
n{5,1}='oradea';
n{5,2}='zerind';
n{5,3}='sibiu';

'city';
n{6,1}='fagaras';
n{6,2}='sibiu';
n{6,3}='bucharest';

'city';
n{7,1}='rimnicu vilcea';
n{7,2}='sibiu';
n{7,3}='pitesti';
n{7,4}='craiova';

'city';
n{8,1}='lugoj';
n{8,2}='timisoara';
n{8,3}='mehadia';

'city';
n{9,1}='bucharest';
n{9,2}='fagaras';
n{9,3}='pitesti';
n{9,4}='giurgiu';
n{9,5}='urziceni';

'city';
n{10,1}='pitesti'
n{10,2}='bucharest'
n{10,3}='rimnicu vilcea'
n{10,4}='craiova'

'city'
n{11,1}='craiova';
n{11,2}='pitesti';
n{11,3}='rimnicu vilcea';

'city'
n{12,1}='mehadia';
n{12,2}='lugoj';
n{12,3}='dobreta';

'city'
n{13,1}='giurgiu';
n{13,2}='bucharest';

'city';
n{14,1}='urziceni';
n{14,2}='bucharest';
n{14,3}='hirsova';
n{14,4}='varsui';

'city';
n{15,1}='dobreta'
n{15,2}='mehadia'
n{15,3}='craiova'

'city';
n{16,1}='hirsova';
n{16,2}='urziceni';
n{16,3}='eforie';

'city';
n{17,1}='varsui';
n{17,2}='iasi';
n{17,3}='urziceni';

'city';
n{18,1}='eforie';
n{18,2}='hirsova';

'city';
n{19,1}='iasi';
n{19,2}='neamt';
n{19,3}='vaslui';

'city';
n{20,1}='neamt';
n{20,2}='iasi';


city=n{1,1};
for i=1:20
    for j=1:5
   if strcmp(n{i,j},goal)
       list{i,j}=[goal ' *GOAL*'];
       break;

   else

       list{i,j}=n{i,j};
   end
   end
end
    list{i,j}=n{i,j}

但它并没有向我显示以前的城市,我希望它向我展示从Arad到Buhcarest的所有方式,例如: 阿拉德 - >乌 - >弗格拉什 - >布加勒斯特 arad - > timisoara - > lugoj - > mehadia - > dobreta - > craiova - > rimnicu vilcea - > sibiu - > fagaras - >布加勒斯特 我不想要最短的路,我想要从阿拉德到布加勒斯特的所有方式

1 个答案:

答案 0 :(得分:0)

有一些很棒的网络分析方法可用于此类事情:

你可以通过构建adjacency matrix网络并利用矩阵的力量来找到1跳,2跳,3跳旅程等来实现这一目标......

近似matrix exponential将为您提供从地图上任意城市到任何其他城市的总旅行次数。