MATLAB Answers

How can I represent the mean in figure

2 ビュー (過去 30 日間)
will99 2019 年 4 月 11 日
コメント済み: Star Strider 2019 年 4 月 11 日
basically I have this code to de center the data by shifting it which do the following
find the mean of each vector and substract the mean from the corrsponding data
I want to represent the data in figure how can I do that ?
f = xlsread('data.xlsx');
s= size(f,2);
m = zeros(size(f));
for i = 1:s
m(:,i) = f(:,i)-mean(f(:,i));

  0 件のコメント

Sign in to comment.

回答 (2 件)

Star Strider
Star Strider 2019 年 4 月 11 日
You are taking the mean of each column of ‘f’, which is what the mean function does by default.
Try this:
m = f - mean(f)
Experiment to get the resullt you want.

  4 件のコメント

表示 1 件の古いコメント
Star Strider
Star Strider 2019 年 4 月 11 日
I am not certain what you intend by ‘decentered’.
If you want to subtract the value that is mid-way in the values of the column vectors in your matrix, use the median function instead of mean. The code is otherwise the same. (The mean and median may be close to being the same values in some situations, however in others they can be quite different. What you do depends on the result you want.)
will99 2019 年 4 月 11 日
I'm trying to perform PCA without PCA matlab function and the first step was to get the mean of the vector nad substract it from the corrsponding data so it can have mean of zero I want to check if the new data have mean of zero so I want to know how can I plot it like the one in the example
Star Strider
Star Strider 2019 年 4 月 11 日
Assuming ‘f’ is an (Nx2) matrix, I would do this:
m = f - mean(f);
plot(m(:,1), m(:,2), '+')
You can then use the MATLAB cov and eig functions to get the covariance matrix and its eigenvalues.

Sign in to comment.

Steven Lord
Steven Lord 2019 年 4 月 11 日
You can 'center' your data using the normalize function.
As for "represent the data in figure" do you mean you want to plot the centered data? If not can you say more about what type of visualization you want to create?
dicerolls = randi(6, 1, 100);
centeredDicerolls = normalize(dicerolls, 'center');
Although for rolling six-sided dice, you may want to subtract off the theoretical mean of 3.5 instead of the mean of your set of rolls.
dicerollsMinus3p5 = normalize(dicerolls, 'center', 3.5);

  1 件のコメント

will99 2019 年 4 月 11 日
yeah I want to plot the data before and after it got centered and shifted

Sign in to comment.




Translated by