(我知道我问了很多关于这个的问题!)
基本上,我正在尝试将一些代码从 Matlab 转换为 C++,我遇到了这个问题:
n = sum(size(blocks)) - len;
现在我已经计算了向量的总和,我有了长度,但我不知道“大小”是做什么的?因为在 C++ 中 .size() 将返回向量的大小。
有任何想法吗?(不要求代码)!
在 MatLab 中,size
返回一个向量(或矩阵)的所有维度的向量。所以如果blocks
是一个 4x2 矩阵,那么sum(size(blocks))
将返回6
. 如果维数为 2 或更少,则结果始终包含 2 个元素。 即长度为 5 的列向量将返回[5 1]
,而相同长度的行向量将返回[1 5]
。
看到有点奇怪sum(size(?))
。您经常看到prod
代替sum
,它将所有维度相乘。
无论如何,希望能满意地回答您的问题=)
d = size(X) return the sizes of each dimension of array X in a vector d.
以免说你有d = size(rand(2,3,4))
那么这将返回 d = 2 3 4 。基本上,它为您提供了该数组中每个块的大小