尺寸、长度转换

Size, Length conversion?

本文关键字:转换 尺寸      更新时间:2023-10-16

(我知道我问了很多关于这个问题的问题!)

基本上,我正在尝试将一些代码从 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 。基本上它为您提供该数组中每个块的大小