Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在matlab中计算无回路的组内标准差?_Matlab_Standard Deviation - Fatal编程技术网

如何在matlab中计算无回路的组内标准差?

如何在matlab中计算无回路的组内标准差?,matlab,standard-deviation,Matlab,Standard Deviation,我有一个数据集,它有n个样本和由n*d矩阵表示的d个特征。相应的标签是一个n*1向量。如何在matlab中计算没有回路的每个组内标准偏差 例如: 样品 5 1 1 1 4 5 2 5 3 1 1 3 5 5 5 5 5 3 4 5 4 5 5 5 4 标签: 2 1 1 2 2 如何计算类别1和类别2的标准偏差?使用accu

我有一个数据集,它有n个样本和由n*d矩阵表示的d个特征。相应的标签是一个n*1向量。如何在matlab中计算没有回路的每个组内标准偏差

例如:

样品

 5     1     1     1     4
 5     2     5     3     1
 1     3     5     5     5
 5     5     3     4     5
 4     5     5     5     4
标签:

2
1
1
2
2

如何计算类别1和类别2的标准偏差?

使用
accumarray
,您可以这样计算标准偏差:

stdev = cell2mat(accumarray(label,(1:length(label))',[],@(x){std(samples(x,:))}));
如果您有统计工具箱,则可以使用
grpstats

stdev = grpstats(samples,label,'std')

使用
accumarray
,您可以像这样计算标准偏差:

stdev = cell2mat(accumarray(label,(1:length(label))',[],@(x){std(samples(x,:))}));
如果您有统计工具箱,则可以使用
grpstats

stdev = grpstats(samples,label,'std')

+1:告诉我,有什么事你不能用accumarray做的吗+1:告诉我,有什么事你不能用accumarray做的吗