(我知道我问了很多关于这个问题!)大小,长度转换?
基本上,我想要一些代码从MATLAB转换为C++和我遇到这样的:
n = sum(size(blocks)) - len;
现在我已经计算了矢量的总和,我有这个长度,但我不知道“大小”是什么?因为在C++中.size()将返回向量的大小。
任何想法? (不要求代码)!
(我知道我问了很多关于这个问题!)大小,长度转换?
基本上,我想要一些代码从MATLAB转换为C++和我遇到这样的:
n = sum(size(blocks)) - len;
现在我已经计算了矢量的总和,我有这个长度,但我不知道“大小”是什么?因为在C++中.size()将返回向量的大小。
任何想法? (不要求代码)!
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。基本上它给你在该阵列中的每个块的大小
在MatLab中,size
返回矢量(或矩阵)的所有维度的向量。所以如果blocks
是4x2矩阵,那么sum(size(blocks))
将返回6
。如果维数为2或更少,结果总是包含2个元素。 即长度为5的列向量将返回[5 1]
,并且具有相同长度的行向量将返回[1 5]
。
看到sum(size(?))
有点奇怪。通常你会看到prod
而不是sum
,它将所有维度放在一起。
无论如何,希望回答你的问题,以满意=)
告诉我这些东西是什么类型。 – 2012-08-17 03:38:00
是什么? sum是矢量块的总和,尺寸我认为是矢量的尺寸,长度是矢量的长度? – Phorce 2012-08-17 03:41:03
@Phorce'length'函数(这里没有提到)返回第一个非单实例维度的大小。 – paddy 2012-08-17 03:45:47