我正在尝试使用 MATLAB 通过向量找到矩阵复合内的最大向量,但是我遇到了一些困难,所以如果有人帮助我,我将非常感激。我有这个:
矩阵路径(Dijkstra 函数的解),它是一个 1000x1000 矩阵,其值是 1 行和不同列数的向量(当列大于 10 时,值显示为“1x11 double, 1x12 double, etc ”)。矩阵路径具有以下形式:
1 2 3 ....
1 1 <1x20 double> <1x16 double>
2 <1x20 double> 2 [2,870,183,492,641,863,611,3]
3 <1x16 double> [3,611,863,641,492,183,870,2] 3
4 <1x25 double> <1x12 double> <1x14 double>
.
.
.
起初我想在矩阵中找到最大的向量
B = max(length(paths))
然而 MATLAB 返回 B = 1000,这个值是可行的,但不太可能。当尝试使用以下方法找出向量的位置时:
[row,column] = find(length(paths) == B)
MATLAB返回row = 1,column = 1,这肯定是错误的......我认为这可能是MATLAB如何获取数据的问题。就像它不将矩阵的条目视为向量一样,因为当我输入时:
length(paths(3,2))
它返回我 1,但据我所知,它应该返回 8,在介绍时也是如此:
paths(3,2)
它返回 [1x8 double]
但我希望看到整个向量。我不知道该怎么办,也许是一个“for”循环,我真的不知道 MATLAB 是把矩阵的数据作为向量还是作为简单的双精度值。