我试图理解我在网上找到的以下代码,但第一行遇到了问题:
errors(:,:) = (errors(:,:)*trials + 0.5)./(trials + 1);
PBIerr = (errors(:,2)-errors(:,3))./(errors(:,2)+errors(:,3));
(:,:) 在 Matlab 中代表什么?它是某种“全选”吗?
提前致谢!
是的。冒号运算符是“全选,从此索引”运算符。请注意,在第一行中,只要errors
已经是 2D 就不需要它,因为“选择整个变量”不是您需要指定的,默认情况下。所以它可能是
errors = (errors*trials + 0.5)./(trials + 1);
.
如果errors
维数多于 2,则等号右侧的冒号运算符正在执行某些操作,特别是“A(:,:) 将 A 的所有元素重塑为二维矩阵。如果A 已经是一个矩阵或向量。”。无论如何,左侧的那一行是无用的,因为该行覆盖了变量。
然而,在第二行使用冒号运算符是合理的。
冒号运算符在 MATLAB 中的其他含义很少,请在此处阅读所有内容:https : //uk.mathworks.com/help/matlab/ref/colon.html
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句