我正在使用MATLAB函數graphallshortestpaths來計算無向網絡頂點之間的最短路徑。無向網絡作爲加權邊緣列表文件給出,您可以在其中找到here。MATLAB函數graphallshortestpaths不返回對稱矩陣

這是我用於計算最短路徑的MATLAB代碼:

A=load('genome_edge_list');

%Extract the edges

E=[A(:,1);A(:,2)];

%Extract the vertices

V=unique(E);

%N is the number of vertices

N=length(V);

%Take the inverse of the weights

A(:,3)=1./A(:,3);

%Create a sparse weighted adjacency matrix

B=sparse(A(:,1),A(:,2),A(:,3),N,N);

%Make B symmetric

B=sparse(full(B)+full(B)');

%Compute shortest paths

D=graphallshortestpaths(B,'directed',false);

現在,MATLAB給出作爲輸出矩陣d不是對稱的。但是,由於輸入到graphallshortestpaths是稀疏格式的對稱矩陣,輸出應該是對稱矩陣。那麼我做錯了什麼?

我在mathworks上可以找到的唯一相關問題是this問題,但是在那個問題中,OP顯然沒有給出對稱矩陣作爲輸入,這就解釋了爲什麼MATLAB返回的矩陣不對稱。

編輯:

要了解遙遠d和d」是的,我計算如下:

E=D';

C=D==E;

find(C==0)

這將返回下面的線性指標:

33133

543038

1363077

1398421

1398786

1399373

但在這些指數中D和E的值是相同的,例如D(33133)= 0.1024 = E(33133)。現在,如果我把這兩個矩陣的差別,我發現這些指數的差異是-1.0000e-05。 @beaker指出,因此它似乎是一個四捨五入的錯誤。然而,正如我在下面的評論中寫的,我不明白這是怎麼發生的,因爲圖的最短路徑計算節點i和j之間的距離只有一次,因此D(i,j)和D(i,j)應該是相同計算的結果。

2017-05-01

n.o.

+1

數值有多遠?我唯一能想到的就是浮點精度。另外,我認爲第三行應該是'V = unique(E);'因爲'H'沒有定義,但是我不明白這是否會導致問題,即使'H'已經在其他地方定義了。 –

+0

@beaker謝謝,那是一個錯字。我用'C = D == D.''檢查了值的大小,'find(C == 0)'給了我一個D和D的六個索引列表。應該是不同的。然而,這些指數的值是相同的,所以我很困惑爲什麼'對稱(D)'返回0。 –

+0

一個小例子會有所幫助。 –

matlab shortest函数,MATLAB函數graphallshortestpaths不返回對稱矩陣相关推荐

  1. matlab 定义函数 调用,matlab 定义函数,matlab定义函数并调用

    matlab 定义函数,matlab定义函数并调用,Matlab自定义函数详解 很久以前写的一篇Matlab自定义函数访问量很大,可惜没有点赞的,我感觉是我没讲清楚,这里又写了一篇笔记 Matlab函 ...

  2. 用matlab定义位移函数,matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)...

    matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法),哪吒游戏网给大家带来详细的matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)介绍,大家可以阅读一下,希望这篇 ...

  3. matlab+awgn和wgn,噪聲強度(噪聲功率) 噪聲方差到底有什么關系? matlab中的awgn函數...

    以matlab中awgn函數為例說明: 在matlab中無論是wgn還是awgn函數,實質都是由randn函數產生的噪聲.即:wgn函數中調用了randn函數,而awgn函數中調用了wgn函數. 根據 ...

  4. matlab isnumeric函数,MATLAB数组的常用函数

    3  进行数组运算的常用函数 在MATLAB中有一些常用函数,这些函数在日常的编程计算过程中会经常遇到,一般是基本的数学概念在MATLAB中的函数表达方式.这些函数在MATLAB中可以同时作用于整个矩 ...

  5. matlab doc函数,matlab常用函数.doc

    matlab常用函数.doc MatLab 常用函数 1. 特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 name ...

  6. matlab私有函数,MATLAB 嵌套函数,子函数,私有函数,重载函数

    MATLAB函数嵌套 MATLAB中M文件有两种类型,脚本M文件和函数M文件.脚本M文件是将可执行程序语句放入M文件中,就像在命令窗口那样,按其语句顺序及逻辑关系执行,可以理解为一般的顺序执行程序语句 ...

  7. matlab引擎函数,Matlab引擎库函数

    Matlab引擎库包含了一系列从外部应用程序调用和控制Matlab引擎的函数.下表列举了C语言的引擎库函数,这些函数后使用了eng前缀名 表 1 C语言引擎函数库 引擎函数 功能描述 engOpen ...

  8. matlab swt函数,matlab swt 函数出错

    matlab swt 函数出错 我在用matlab swt 函数分解信号时总是出现以下错误,麻烦各位高手告知该怎么修改,swt函数如何ERROR ... ----------------------- ...

  9. 怎么调出matlab的函数,matlab定义函数【搞定方法】

    喜欢使用电脑的小伙伴们一般都会遇到win7系统matlab定义函数的问题,突然遇到win7系统matlab定义函数的问题就不知道该怎么办了,其实win7系统matlab定义函数的解决方法非常简单,按照 ...

最新文章

  1. X is not a member of 'cv'异常解决
  2. Java解码网页表单post内容小记
  3. 使用myeclipse建立maven项目(重要)
  4. IDEA 忽略CSS错误
  5. linux下alias命令具体解释
  6. Slider 滑动条效果
  7. debug 技巧 包括各种场景的debug方法
  8. python实现GUI设计的方法
  9. 为什么模电这么难学?一文带你透彻理解模电
  10. leetcode 算法-乘积最大子序列-152
  11. 密码学数论基础部分总结之 有限域GF(p) Galois Fields
  12. GitHub上README.md编写教程(基本语法)
  13. 维基解密想帮助苹果、Google 对抗 CIA 黑客入侵
  14. juicy-potato Windows提权之访问令牌操纵
  15. python炫酷动画源代码_(数据科学学习手札85)Python+Kepler.gl轻松制作酷炫路径动画...
  16. C++ 【vector模拟实现】
  17. AutoCAD/Civil 3D 学习笔记
  18. java中计时器使用
  19. 医院信息化-2 信息系统主要厂家
  20. [FAQ21249] 如何判断某个项目是否支持特定地区和运营商的Volte/Vilte/VoWIFI/ViWIFI

热门文章

  1. 【OpenCV 4开发详解】分割图像——Grabcut图像分割
  2. 【OpenCV 4开发详解】方框滤波
  3. ISE 14.7 调试错误笔记
  4. EasyTransaction 1.3.0 发布,一站式分布式事务解决方案
  5. STL中的map、unordered_map、hash_map
  6. CentOS7.4下DNS服务器软件BIND安装及相关的配置(一)
  7. Unity插件之NGUI学习(4)—— 创建UI2DSprite动画
  8. (7)Zabbix分布式监控proxy实现
  9. arcgis for server 登陆manager失败解决办法
  10. JAVA对象转为Java String的几种常用方法