Matlab具有较高的运算精度。一般情况下,矩阵类似的运算可以达到数量级的精度,符合一般科学与工程运算的要求。

如果矩阵的条件数很大的话,则矩阵中一个参数的微小变化,就可能会使最终结果发生极大变化,这种现象在数学上称为坏条件问题。对于这类问题,如果没有采用的恰当的算法,最后得出的结果可能不正确。使用Matlab语言一般不会出现这类错误,即是可靠的、数值稳定的。

4  典型图论问题的MATLAB求解

4。1  最短路径问题

最短路径问题是图论中的一个经典问题。最短路径就是从图 中某对顶点 和 之间的全部路径中选出权值之和最小的一条路径作为顶点 到达顶点 的最短路径。这里边的权值可以代表多种含义,如路途、费用、耗时等。文献综述

4。1。1  Dijkstra算法

Dijkstra算法[4]是最短路径的常用算法,是1959年由荷兰计算机科学家E。W。Dijkstra提出的关于最短路径的搜索算法。

Dijkstra算法的基本思想是按距离的从近到远为序,依次求得所有顶点的最短路径和距离,直至算法结束。为避免重复计算并保留每一步计算信息,采用了标号的算法。

下面是该算法的计算步骤:

(1)令 ,对 ,令 , , 。

(2)对所有  ,使用 代替 。当 不相邻时, ,计算 ,把达到这个最小值的顶点记为 ,令 。

(3)若 计算停止;若 ,用 代替 ,转至第2步。

算法结束时,从 到各顶点 的距离使用 最后一次的标号 给出。在 进入 之前的标号 记为 标号, 进入 时的标号 记为 标号。该算法不断修改各顶点的 标号,直至获得 标号。如果在算法运行过程中,将每一顶点获得 标号所由来的边在图上标明,那么在该算法结束时, 至各顶点的最短路径也在图上标示了出来。

Dijkstra算法相应的Matlab的程序如下:

function[d index1 index2]=Dijkf(a)

%a表示图的权值矩阵,d表示所求最短路的权和

%index1表示标号顶点顺序,index2表示标号顶点索引

M=max(max(a));%参数初始化 

pb(1:length(a))=0;

pb(1)=1;

index1=1;

index2=ones(1,length(a));

d(1:length(a))=M;d(1)=0;temp=1;

%更新l(v),同时记录顶点顺序和顶点索引

while sum(pb)<length(a) %重复步骤2,直到满足停止条件

   tb=find(pb==0);

   d(tb)=min(d(tb),d(temp)+a(temp,tb)); %更新l(v)

   tmpb=find(d(tb)==min(d(tb)));

   temp=tb(tmpb(1)); %tmpb可能有多个

   pb(temp)=1;

   index1=[index1,temp];%记录标号顺序

   index=index1(find(d(index1)==d(temp)-a(temp,index1)));

   if length(index)>=2来*自-优=尔,论:文+网www.youerw.com

      index=index(1);

   end

   index2(temp)=index;%记录标号索引

end

d;index1;index2;

应用实例, 是邮递员负责的6条街道,下面矩阵的 号元素是 到 的最短距离,为邮递员制作一张由 到各街道去的最短的路线图。

根据矩阵建立模型如图1所示。

图 1用矩阵 (n为顶点个数)存放各边权的邻接矩阵,行向量pb,index1,index2,d分别用来存放P标号信息、标号顶点顺序、标号顶点索引、最短通路的值,其中分量

index2存放从始点到第i点最短通路中第i顶点的前一顶点的序号, 存放由始点到第i点最短通路的值。

在Matlab中输入源程序如下:

>> M=10000;

>> a(1,:)=[0,50,M,40,25,10];a(2,:)=[zeros(1,2),15,20,M,25];a(3,:)=[zeros(1,3),10,20,M];

a(4,:)=[zeros(1,4),10,25];a(5,:)=[zeros(1,5),55];a(6,:)=zeros(1,6);

上一篇:函数逼近的若干方法
下一篇:支持向量机用于分类识别及应用

近五年浙江省高考数列问题专题研究

浅谈中学数学函数最值问题的求解方法

浙江省近五年高考数列问题研究

函数背景下的不等式问题

近五年浙江省高考数列问题专题探究

几何画板在探究轨迹问题中的应用

数学问题情境的呈现方式...

LiMn1-xFexPO4正极材料合成及充放电性能研究

网络语言“XX体”研究

老年2型糖尿病患者运动疗...

互联网教育”变革路径研究进展【7972字】

张洁小说《无字》中的女性意识

ASP.net+sqlserver企业设备管理系统设计与开发

我国风险投资的发展现状问题及对策分析

麦秸秆还田和沼液灌溉对...

安康汉江网讯

新課改下小學语文洧效阅...