2

我试图了解 MATLAB 的工作原理,但最终我什至难以实现最基本的概念。让我给你三个例子,并问你如何在 MATLAB 中实现它们(见附图)。此外,让我们假设以下数据表成立:

1.2; 3.4; 4.6
1.3; 3.7; 4.6
1.0; 3.9; 5.1
1.1; 3.7; 4.6
1.2; 3.8; 4.5

在那种情况下,i = 1...5 和 k = 1...3,如果我理解正确,我们应该得到这样的结果:

R_hat_1 = (1.2 + 3.4 + 4.6) / 3 = 9.2/3 = 3.067
...
R_hat_5


variance_1 = (1/2) * ((1.2 - 3.067)^2 + (3.4 - 3.067)^2 + (4.6 - 3.067)^2) = 
= (1/2) * (3.48 + 0.11 + 2.35) = (1/2) * 5.94 = 2.97
...
variance_5


Y_11 = (1.2 - 3.067) / 1.72 = -1.08
...
Y_53

我的问题是,如何让它在 MATLAB 上运行?我实际上缺少的是如何添加和减去不同维度的矩阵。

任何帮助将不胜感激。

数学公式

4

1 回答 1

4

你真的应该看看 Matlab 文档,因为这是相当基本的。

首先,您应该将矩阵定义写为:

X = [1.2, 3.4, 4.6; ...
1.3, 3.7, 4.6; ...
1.0, 3.9, 5.1; ...
1.1, 3.7, 4.6; ...
1.2, 3.8, 4.5;];

然后,您可以使用标准函数来计算均值和方差:

rHat = mean(X,2);

sigma = std(X,0,2); % the 0 is a flag to use N-1 as denominator
var = sigma.^2;

你可以计算出最终的等式:

Y = (X - repmat(rHat, [1 3])) ./ repmat(sigma, [1 3]);
于 2012-06-06T02:57:17.073 回答