在matlab标准差
4视图(30天)
显示旧的评论
你好,我已经在我的程序计算均值和我试图计算标准deviaton 20 x20数组的值,而不使用标准命令。接下来,我比较结果whoch我得到当我使用std命令,但他们是不同的。有人能解释我的原因吗?他们的任何问题的类型我的算法吗?这是我的代码:
mean_value = 65.4250;
sum_dev = 0;
为i = 1:1:20
为j = 1:1:20
sum_dev = sum_dev + ((ROI (i, j) - mean_value) ^ 2);
结束;
结束;
std_dev = ((sum_dev / (40)) ^ (1/2));
disp (std_dev);
129.0786
性病(ROI (:), 0, 1)
ans =
40.3552
接受的答案
Teja Muppirala
2011年3月9日
你可能要写(400 - 1),而不是(40)。
2的评论
Teja Muppirala
2011年3月9日
值得注意的是,你可以避免通过写作类似:
std_dev = ((sum_dev /(元素个数(ROI) 1)) ^ (1/2));
代替。在一般情况下,你可能最好不要硬编码数字“400”(同样适用于循环指数)。这是一个更灵活,因为它适用于任何投资回报的大小。