这条线是什么意思? 到C++中,我理解直方图是多维数组。在这行中“/”是什么意思

这条线是什么意思? 到C++中,我理解直方图是多维数组。在这行中“/”是什么意思,c++,matlab,C++,Matlab,/是元素除法的命令(.*是乘法版本)。MATLAB的默认值是矩阵运算,因此您必须使用./命令来告诉它进行元素运算,而不是矩阵运算(在大多数情况下,矩阵运算会失败,因为大多数时候人们都希望进行元素运算) 按元素划分意味着将一个矩阵的第一个元素除以第二个矩阵的第一个元素,然后将第二个元素除以第二个元素,将第三个元素除以第三个元素……直到所有操作完成,返回与第一个和第二个矩阵大小相同的矩阵。这不是矩阵运算,在矩阵运算中,将第二个矩阵求逆,然后将两个矩阵相乘,以返回第三个矩阵,该矩阵的大小可能与任何父矩

/是元素除法的命令(.*是乘法版本)。MATLAB的默认值是矩阵运算,因此您必须使用./命令来告诉它进行元素运算,而不是矩阵运算(在大多数情况下,矩阵运算会失败,因为大多数时候人们都希望进行元素运算)

按元素划分意味着将一个矩阵的第一个元素除以第二个矩阵的第一个元素,然后将第二个元素除以第二个元素,将第三个元素除以第三个元素……直到所有操作完成,返回与第一个和第二个矩阵大小相同的矩阵。这不是矩阵运算,在矩阵运算中,将第二个矩阵求逆,然后将两个矩阵相乘,以返回第三个矩阵,该矩阵的大小可能与任何父矩阵的大小相同,也可能不同

在上面的例子中,假设直方图是一个二维矩阵,元素操作和矩阵操作实际上是相同的,因为

Histogram(j, :) = Histogram(j, :)./sum(Histogram(j, :));

将返回单个标量值(第j行中元素的总和)。您引用的代码的作者可能只是默认地执行了./command,因为这是一个常见的MATLAB编程习惯。

对,
sum
将维度减少了一,使其与其他参数不同,并且由于MATLAB除了标量(倍频程)外没有隐式单态展开,它必须生成一个标量。要添加到此注释,该语句还确保第j行的直方图已规范化并转换为PDF,这样您就不会计算某个特定值出现的频率,而是计算遇到该特定值的概率。
sum(Histogram(j,:))