2012-06-06 86 views
2

我想了解MATLAB如何工作,但最終我努力實現最基本的概念。讓我給你三個例子,並問你如何在MATLAB中實現它們(見附圖)。此外,讓我們假設數據如下表成立:在MATLAB中計算標準化返回

​​

在這種情況下,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上運行?我實際上缺少的是如何添加和減去不同維度的矩陣。

任何幫助將非常感激。

mathematical formulas

回答

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]); 
+0

謝謝亞歷克斯,它的工作! – user706838