standard deviation of same values in a matrix
2 次查看(过去 30 天)
显示 更早的评论
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!
0 个评论
回答(2 个)
the cyclist
2015-11-30
编辑:the cyclist
2015-11-30
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 个评论
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear Algebra 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!