standard deviation of same values in a matrix

1 回表示 (過去 30 日間)
Fabi Boro
Fabi Boro 2015 年 11 月 30 日
コメント済み: the cyclist 2015 年 12 月 1 日
Hello,
I couldn't find anything which could help me with my problem.
I have a matrix (n x 2) like shown below:
I want to calculate the standard deviation of column 2 for all records which have the same valaue in column 1. So I get this:
Is there a smart way to do this? Maybe is several steps?
Thanks!

回答 (2 件)

the cyclist
the cyclist 2015 年 11 月 30 日
編集済み: the cyclist 2015 年 11 月 30 日
The accumarray function is designed for this:
M = [5 0.30;
5 0.35;
7 0.50;
7 0.51;
9 0.98;
9 0.87;
9 0.71];
[uniqueM,idxToUnique,idxFromUniqueBackToAll] = unique(M(:,1));
S = accumarray(idxFromUniqueBackToAll,M(:,2),[],@std)
stdDevM = [uniqueM,S]
  2 件のコメント
Fabi Boro
Fabi Boro 2015 年 12 月 1 日
Thank you! works quite well!
the cyclist
the cyclist 2015 年 12 月 1 日
The best form of thanks is accepting the solution, which rewards the person who helped you, and also points future users to good answers.

サインインしてコメントする。


John D'Errico
John D'Errico 2015 年 11 月 30 日
編集済み: John D'Errico 2015 年 11 月 30 日
Download consolidator , from the file exchange. One line then.

カテゴリ

Help Center および File ExchangeLinear Algebra についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by