Filter löschen
Filter löschen

How to center vector to mean zero?

39 Ansichten (letzte 30 Tage)
gsourop
gsourop am 9 Nov. 2017
Beantwortet: John D'Errico am 9 Nov. 2017
Hi everyone,
I would like to center a vector A = randn(50,1) to center, meaning that (1/N)*sum(a(i)) = 0 , where a is the centered vector A, i = 1, .. ,50 and n=50. Moreover, if I have a matrix B = randn(50,4) how could we standardize it, meaning that (1/n)*sum(x(i))=0 and (1/n)*sum(x^2)=1, namely they follow a normal distribution with zero mean and unit variance N(0,1). Could anyone help with these two problems?
  1 Kommentar
Rik
Rik am 9 Nov. 2017
You mean something like x=x-mean(x);? You notation isn't very clear, nor what it precisely is you want to do.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

John D'Errico
John D'Errico am 9 Nov. 2017
Standardize a vector, by centering to have mean 0, and variance 1.
x = rand(100,1);
x = (x-mean(x))/std(x);
Subtracting the mean centers it. Dividing by the standard deviation is independent of the mean, but it sets the standard deviation (and thus the variance) to 1.
mean(x)
ans =
7.6605e-17
std(x)
ans =
1
var(x)
ans =
1
The population parameters are as close to 0 and 1 as floating point computations can ensure.

Weitere Antworten (0)

Kategorien

Mehr zu Preprocessing Data finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by