MATLAB的数学应用--中位数的求解

中位数的求解

我们有以下一组年龄数据:

2位雇员的年龄是17
4位雇员的年龄是28
1位雇员的年龄是18
2位雇员的年龄是31
3位雇员的年龄是21
1位雇员的年龄是33
1位雇员的年龄是26
2位雇员的年龄是34
1位雇员的年龄是26
3位雇员的年龄是37
1位雇员的年龄是39
3位雇员的年龄是43
2位雇员的年龄是40

  • 创建一个年龄数组,没有年龄的人数设置为0
>> f_abs = [2 1 0 0 3 0 0 1 0 1 0 4 0 2 0 1 2 0 0 3 0 1 2 0 0 3];
  • 创建一个数组存放年龄
>> bins = [17:43];
  • 创建一个数组,按频数重复每个元素
  raw = [];

完整程序:

 f_abs = [2 1 0 0 3 0 0 1 0 1 0 4 0 2 0 1 2 0 0 3 0 1 2 0 0 3];
  bins = [17:43];
  raw = [];
  for i = 1:length(f_abs)
      if f_abs(i) > 0
          new = bins(i) * ones(1,f_abs(i));
      else
          new = [];
      end
      raw = [raw,new];
  end
  ave = mean(raw)%计算平均值
  md = median(raw)%计算中位数
  sigma = std(raw)%计算标准偏差  

绘制频数直方图

  • 第一步:计算面积
  area = sum(f_abs);%计算面积
  • 计算频数比例
  scaled = f_abs/area;%计算比例

完整:

 f_abs = [2 1 0 0 3 0 0 1 0 1 0 4 0 0 2 0 1 2 0 0 3 0 1 2 0 0 3];
  bins = [17:43];
  raw = [];
  for i = 1:length(f_abs)
      if f_abs(i) > 0
          new = bins(i) * ones(1,f_abs(i));
      else
          new = [];
      end
      raw = [raw,new];
  end
  area = sum(f_abs);%计算面积
  scaled = f_abs/area;%计算比例
  bar(bins,scaled),xlabel('年龄'),ylabel('频数比例');

图像:
MATLAB的数学应用--中位数的求解_第1张图片
这个例子中的分布比较分散,让我们来看另一个例子:

f_abs = [2 1 0 0 5 4 6 7 8 6 4 3 2 2 1 0 0 1];
bins = [17:34];
raw = [];
for i = 1:length(bins)
    if f_abs(i) > 0
        new = ones(1,f_abs(i))*bins(i);
    else
        new = [];
    end
    raw = [raw,new];
end
avr = mean(raw)
media = median(raw)
sigma1 = std(raw)

这次年龄的分布在17~34之间,而且标准偏差小的多,我们绘制频数分布直方图:
MATLAB的数学应用--中位数的求解_第2张图片

f_abs = [2 1 0 0 5 4 6 7 8 6 4 3 2 2 1 0 0 1];
bins = [17:34];
raw = [];
for i = 1:length(bins)
    if f_abs(i) > 0
        new = ones(1,f_abs(i))*bins(i);
    else
        new = [];
    end
    raw = [raw,new];
end
avr = mean(raw);
media = median(raw);
sigma1 = std(raw);
area = f_abs/sum(f_abs);
bar(bins,area),xlabel('年龄'),ylabel('频数比例')

MATLAB的数学应用--中位数的求解_第3张图片
这与高斯分布曲线竟有些相似,所以,当数据符合高斯分布的时候,标准差就可以用来描述数据,确定落在某个数据上的概率。
标准偏差用这个符号来表示:
3
均值用这个符号来表示:
4
那么曲线落在下面范围的概率分别是:
MATLAB的数学应用--中位数的求解_第4张图片
前面例子中的标准偏差和均值分别为:

avr =
   24.6538
sigma1 =
    3.3307

大约68%的年龄落在均值的一个标准偏差范围内,也就是aver-sigma~aver+sigma之间,再宽一些,96%的年龄将落在均值的两个标准偏差内…

你可能感兴趣的:(MATLAB科研绘图,MATLAB与高等数学)