matlab - 如何强制 Matlab/Octave cov 函数使用可选参数

标签 matlab octave covariance

我正在使用 Matlab 和 Octave 的 cov(协方差)函数。实际上我正在使用Octave,但最终它必须对两者都适用。此函数具有可选的第二个或第三个参数,用于指示是否应使用 N 或 N-1 进行归一化

如果我这样做:cov(points,1)(其中点是 4x2 矩阵),我会收到以下错误:

error: cov: x and y must have the same number of observations

一般来说,我想知道 Matlab/Octave 如何区分第二个参数是另一个矩阵还是可选参数(因为它可以有 2 个或 3 个参数)。

更具体地说,我想知道如何解决我的问题?

Matlab cov() 文档:http://www.mathworks.de/help/techdoc/ref/cov.html
Octave cov() 文档:http://www.gnu.org/software/octave/doc/interpreter/Correlation-and-Regression-Analysis.html

编辑:我在 Ubuntu 12.04 上使用 Octave 3.2.4
EDIT2:解决方案是安装较新版本的 Octave。该功能是3.2之后实现的。

最佳答案

这看起来像是一个 Octave 错误(至少对于 3.0.5 版本);它在 Matlab 中运行良好(至少在 7.10 版本中)。

当然,要解决此问题,您可以计算:

cov(a) * (N-1) / N

关于matlab - 如何强制 Matlab/Octave cov 函数使用可选参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10773757/

相关文章:

matlab - Matlab 中的负零

python - 左矩阵除法和 Numpy Solve

c# - 将通用类委托(delegate)给特定类

.net - 有机会合法投吗?

matlab - 在 Matlab 中重置轴

matlab - 如何并行化 MATLAB 代码以更快地打印所有可能的三元组?

matlab - Matlab中矩阵内列顺序的差异

matlab - 生成位矩阵

octave - 是否可以更改 Octave GUI 中的默认注释字符串?

java - 用简单的英语解释协变、不变和逆变?