问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

matlab编程动态规划最短路径问题

发布网友 发布时间:2022-04-24 01:58

我来回答

2个回答

热心网友 时间:2023-10-20 10:56

以前搞建模在网上下到的代码,不是自己编的,但经过试验可以用,分享了:

function len=dijkstra(Input)
%最短路Dijkstra算法,同时给出路径,input为图矩阵

row=size(Input,1);

%赋初值
% s_path=1;
distance=inf*ones(1,row);
distance(1)=0;
% flag(1)=1;
temp=1;

%求起点到各点的最短路的权
% s_path=ones(1,3);
while length(s_path)<row
pos=find(Input(temp, : )~=inf);
n=length(pos);
flag=ones(1,n);
for i=1:n
if (isempty(find(s_path==pos(i),1)))&&(distance(pos(i))>...
(distance(temp)+Input(temp,pos(i))))
distance(pos(i))=distance(temp)+Input(temp,pos(i));
flag(pos(i))=temp;
end
end
k=inf;
for i=1:row
if (isempty(find(s_path==i,1)))&&(k>distance(i))
k=distance(i);
temp_2=i;
end
end
s_path=[s_path,temp_2];
temp=temp_2;
end

%用追溯法得到起点到各点的最短路的路线
len=zeros(1,row);
for endpoint=1:row
path=0; %初始化
path(1)=endpoint;
i=1;
while path(i)~=1
path(i+1)=flag(path(i));
i=i+1;
end
path(i)=1;
path=path(end:-1:1); %最短路径
short_distance=distance(endpoint); %最短路径权
len(endpoint)=short_distance; %起点到各点的最短距离
pathall=path; %总路径矩阵
end

len=len(25:end);

%{
disp('起点到各点的最短路径:');
celldisp(pathall);
%设法只画出最短路径
em=find(w==inf);
w(em)=0;
h = view(biograph(w,[],'ShowWeights','on'));
%}
邮箱给你发了个资料,多年前搞的,估计是忘了,也许这个函数有点问题,你按资料里的做吧

热心网友 时间:2023-10-20 10:57

有没有能够动态画出最短路径的程序啊,求赐教

热心网友 时间:2023-10-20 10:56

以前搞建模在网上下到的代码,不是自己编的,但经过试验可以用,分享了:

function len=dijkstra(Input)
%最短路Dijkstra算法,同时给出路径,input为图矩阵

row=size(Input,1);

%赋初值
% s_path=1;
distance=inf*ones(1,row);
distance(1)=0;
% flag(1)=1;
temp=1;

%求起点到各点的最短路的权
% s_path=ones(1,3);
while length(s_path)<row
pos=find(Input(temp, : )~=inf);
n=length(pos);
flag=ones(1,n);
for i=1:n
if (isempty(find(s_path==pos(i),1)))&&(distance(pos(i))>...
(distance(temp)+Input(temp,pos(i))))
distance(pos(i))=distance(temp)+Input(temp,pos(i));
flag(pos(i))=temp;
end
end
k=inf;
for i=1:row
if (isempty(find(s_path==i,1)))&&(k>distance(i))
k=distance(i);
temp_2=i;
end
end
s_path=[s_path,temp_2];
temp=temp_2;
end

%用追溯法得到起点到各点的最短路的路线
len=zeros(1,row);
for endpoint=1:row
path=0; %初始化
path(1)=endpoint;
i=1;
while path(i)~=1
path(i+1)=flag(path(i));
i=i+1;
end
path(i)=1;
path=path(end:-1:1); %最短路径
short_distance=distance(endpoint); %最短路径权
len(endpoint)=short_distance; %起点到各点的最短距离
pathall=path; %总路径矩阵
end

len=len(25:end);

%{
disp('起点到各点的最短路径:');
celldisp(pathall);
%设法只画出最短路径
em=find(w==inf);
w(em)=0;
h = view(biograph(w,[],'ShowWeights','on'));
%}
邮箱给你发了个资料,多年前搞的,估计是忘了,也许这个函数有点问题,你按资料里的做吧

热心网友 时间:2023-10-20 10:57

有没有能够动态画出最短路径的程序啊,求赐教
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见老婆光脚踩谷子 王者荣耀国服中,不论进入游戏还是没开始游戏,所有玩家发送的任何消息... 我的滴滴开空调活动怎么没了 为什么腾讯视频显示还是要流量看 没有联通中国结标志 电脑不能装win7买电脑时他们说只能装win10系统不能装win7 英雄联盟手游 手机lol游戏盒子现在叫什么? 英雄联盟手机盒子看不了比赛记录 手游英雄联盟视频在哪里看手机英雄联盟盒子在哪看我游戏中录的视频 英雄联盟盒子看视频只有声音没有画面,不是网速的问题,也不是电脑卡,是... 为什么英雄联盟盒子没发看视频 matlab求最短距离问题 半年以前的所有聊天记录包括图片视频可以找回吗? 华为p40耳机怎么设置 苹果手机在手机上怎么查看是港版和国行? 求利用matlab求从A到O的最短路径的程序代码~~~ 面包中的酵母有哪些品牌? matlab求最短路,运行dijkstra函数时出错 面包酵母是什么 做面包用什么酵母 华为手机p40的耳机模式在哪里关闭 MATLAB 求最短路径问题 请教matlab中的最短路径函数 如何用matlab求每对顶点之间的最短路径 matlab求最短路,运行dijkstra函数 用matlab最短路 matlab的最短路径 求代码 matlab求,最短路 matlab求最短路径 微信加密软件哪个比较好 微信可以隐藏某个微信聊天记录但不删除吗? 如何处理化工业废气? matlab求最短路德程序编辑出来了,为什么运行不了 在快手极速版上点了弹幕会出现什么 求各位高手Matlab dijkstra 算法的使用方法。 酵母在面包中起到什么作用 一个5000乘上5000的稀疏矩阵,如何利用MATLAB求解平均最短路径,算法要求用dijkstra 如何辨别苹果手机国行和港行 酵母在面包中起什么作用? dijkstra 的MATLAB算法 最短路 制作面包的时候会用到酵母,那鲜酵母和干酵母有什么区别? 图论最短路问题的Dijkstra算法与Matlab程序? 酵母在面包中的作用? 谁能帮我写一个用matlab求两点用之间的最短路程序,要求输出经过一次中转,经过两次中转时的最短路和路由 面包机酵母什么牌子好 2011数学建模国赛B题 求MATLAB最短路工具箱或者算法~发邮箱 快手极速版的放映厅在哪里 基于matlab的遗传算法求最短路问题程序分析 活泼女生头像 求好看的女生头像背影可以是 1全身背影 2抱大娃娃如下图 3活泼的女生头像 4认为好看的头像都可以 活泼点的女生高清头像,求求求 有没有好看的女生QQ头像,不要欧美和动漫的,活泼一点的。谢谢~