其实解决这一问题的方法是由 Floyd R W 提出的算法,称之为 Floyd 算法。 给你一个求6个点任意两点间的最短距离的例子,这里的数据是自己输的,你有数据文件的话可以直接导。clearclc
n=6a=zeros(n)
a(1,2)=50a(1,4)=40a(1,5)=25a(1,6)=10
a(2,3)=15a(2,4)=20a(2,6)=25a(3,4)=10a(3,5)=20
a(4,5)=10a(4,6)=25a(5,6)=55
a=a+a'M=max(max(a))*n^2%M为充分大的正实数
a=a+((a==0)-eye(n))*M
path=zeros(n)
for k=1:n
for i=1:n
for j=1:n
if a(i,j)>a(i,k)+a(k,j)
a(i,j)=a(i,k)+a(k,j)
path(i,j)=k
end
end
end
end
a, path 得到的a便是任意两点间的最短距离。
是0001001011001010,余3循环码得到的方法。
1.前100以X5作为BCD代码转换指令的执行条件,并在左侧总线的右侧输入LDX5。
2.然后输入BCD码转换度指令:BCDD6K1Y0在X5接点右侧。它表示将D6中的二进制数转换为BCD代码并将其存储在K1Y0中。
3、程序写好后,按转换键编译程序,再按模拟测试键将程序写入模拟PLC。
4.当模拟测试窗口出现时,点击菜单启动,然后选择继电器内存监控。
5.点击monitor窗口菜单中的soft元素,然后选择bitsoft元素X和wordsoft元素D。
6.单击X5执行BCD代码转换指令,可以看到D6中的二进制文件已经转换为BCD代码。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)