如何计算一个数组的方差逐步拿走最高值?
1ビュ(過去30日間)
表示古いコメント
你好,
我有一个N个值的数组,我想要排除最大的值。我想通过取越来越小的样本量来直观地看到方差是如何变化的。最终结果将是一个图,其中x轴表示我带走的单个观察量,Y轴表示剩余数据的方差。
我设法做到这一点,但只是通过删除任意数量的N个值,这不允许我创建一个循环。
有可能循环吗?
採用された回答
图像分析
2021 年 9 月 5 日
试试这个:
clc;清除命令窗口。
关闭所有;关闭所有图形(imtool.)
清晰;删除所有现有变量。或者clearvars。
工作空间;确保显示工作区面板。
格式长g;
格式紧凑的;
fontSize = 15;
流('开始运行%s。m…\ n”, mfilename);
numElements = 20;你想要什么都行。
numbers = 100 * rand(1, numElements);
sortedNumbers =排序(数字,“下”);
theVariance = 0 (1, numElements);
为k = 1: numElements
theVariance(k) = var(sortedNumbers(k: end));
流('前%d个最小数的方差为%f.\n',…
numElements - k + 1, theVariance(k));
结束
情节(theVariance“b -”,“线宽”2,“MarkerSize”, 20);
包含(“元素数量”,“字形大小”, 20);
ylabel (“方差”,“字形大小”, 20);
标题(“方差作为元素数量的函数”,“字形大小”, 20);
网格在;