数学实验

田颢

目录

  • 1 第1章 课程概论
    • 1.1 数学实验课程概论
    • 1.2 为什么要学习数学实验课程
    • 1.3 如何学习数学实验课程
    • 1.4 数学实验课程与其他课程的关系
    • 1.5 课程教材简介
    • 1.6 参考书目
  • 2 第二章 MATLAB软件概览
    • 2.1 第一课: MATLAB简介
    • 2.2 第二课:MATLAB的安装与启动
    • 2.3 第三课 常用命令与技巧
    • 2.4 第四课 程序设计基础
  • 3 第三章 微积分实验
    • 3.1 第一课 函数的图像
    • 3.2 第二课 极限的计算
    • 3.3 第三课 导数
    • 3.4 第四课 积分
    • 3.5 第五课 级数
    • 3.6 第六课 微分方程
  • 4 第四章 线性代数实验
    • 4.1 第一课 多项式的计算
    • 4.2 第二课 矩阵计算
    • 4.3 第三课 线性方程
  • 5 第五章 概率统计实验
    • 5.1 第一课 统计数据
    • 5.2 第二课 参数估计
    • 5.3 第三课 随机模拟
  • 6 第六章 综合实验
    • 6.1 第一课 二分法
    • 6.2 第二课 斐波那契序列
    • 6.3 第三课 数独游戏问题
第一课 统计数据

统计数据                           

学习MATLAB有关数据统计、随机变量分布和统计作图的指令,学会用MATLAB求解概率统计问题以及相关操作.

1 学习MATLAB命令

1.1 数据描述

MATLAB的统计工具箱(statistics toolbox)提供了许多统计计算的程序,用于数据描述的常用命令(实际上,求均值、标准差等的命令在MATLAB中而不在统计工具箱中)

X为向量或矩阵.

 求均值命令是mean(X),当X为向量时,返回向量的均值;当X为矩阵时,返回由矩阵每一列的均值构成的行向量(这里的均值、方差等都是指样本均值、样本方差等)

求中位数的命令是median(X)

求标准差的命令是std(X)

求方差的命令是var(X)

求极差的命令是range(X)

求偏度的命令是skewness(X)

求峰度的命令是kurtosis(X)

求元素之和的命令是sum(X),求元素累积和的命令是cumsum(X)

求元素之积的命令是prod(X),求元素累积积的命令是cumprod(X)

对数组排序的命令是sort,其格式为:

[YI]sort(X),当X为向量,Y返回X的升序排列,I返回Y对应的X各元素原来的编址,即YX(I);当X为矩阵,分别对各列排序;

求数组的上分位数命令是prctile,其格式为:

Yprctile(Xp),当X为向量,Y返回X的上p%分位数;当X为矩阵,分别返回各列的上p%分位数;

命令trimmean(Xp)是求X在剔除上下各(p/2)%数据以后的均值;

XY为向量,求X的样本协方差命令是cov(XY)

X为矩阵,求X的样本协方差矩阵命令是cov(X)

命令corrcoef用法与cov类似,得到的是相关系数;

命令moment(Xn)返回Xn阶中心矩;当X为矩阵,返回矩阵每列元素的n阶中心矩.

sortmedian,std, var rangeskewness, kurtosis, min, maxsumprod,cumsumcumprod等命令中,当X为矩阵时,返回结果的解释与mean类似,即返回X的每一列的相应统计计算结果.

例如,同一车间的三台机器所轧的薄板厚度分别是:

机器10.2360.2380.2480.2450.243

机器20.2570.2530.2550.2540.261

机器30.2580.2640.2590.2670.262

输入:

data[0.2360.2380.2480.2450.2430.2570.2530.2550.2540.261; 0.2580.2640.2590.2670.262]

datadata'

mean(data)

median(data)%注意meanmedian的区别

输出为:

ans

024200.25600.2620

ans

024300.25500.2620

输入:

std(data)sqrt(var (data))%varstd的平方

输出为:

ans

000490.00320.0037

ans

00049    0.0032   0.0037

输入:

sum(data)cumsum(data)%注意sumcumsum的区别

输出为:

ans

121001.28001.3100

ans

023600.25700.2580

047400.51000.5220

072200.76500.7810

096701.01901.0480

121001.28001.3100

输入:

corrcoef(data)%将三列看成三个随机变量,得相关系数矩阵

输出为:

ans

1.0000 -0.01600.1787

 -0.01601.0000 -0.3658

0.1787 -0.36581.0000

输入:

[YI]sort (data)%排序

输出为:

Y

023600.25300.2580

023800.25400.2590

024300.25500.2620

024500.25700.2640

024800.26100.2670

I

121

243

535

412

354

输入:

prctile (data[25  50] )%prctile (data50)等于median(data)

输出为:

ans

0.23750.25380.2588%返回25%上分位数

0.24300.25500.2620%返回50%上分位数

输入:

trimmean(data20)%注意与mean的区别

输出为:

ans

0.24200.25600.2620

1.2 常用概率分布

MATLAB统计工具箱提供20种概率分布,我们介绍8种常见分布的MATLAB命令,见表17.1.

17.1       

 

分布

 

 

均匀分布

 

 

指数分布

 

 

正态分布

 

 

χ2分布

 

 

t分布

 

 

F分布

 

 

二项分布

 

 

泊松分布

 

 

命令

 

 

unif

 

 

exp

 

 

norm

 

 

chi2

 

 

t

 

 

f

 

 

bino

 

 

poiss

 

  对每一种分布提供5类运算功能,采用表17.2所示的字符.

17.2

 

功能

 

 

概率函数

 

 

分布函数

 

 

逆概率分布

 

 

期望与方差

 

 

随机数生成

 

 

命令

 

 

pdf

 

 

cdf

 

 

inv

 

 

stat

 

 

rnd

 

  当需要某一分布的某类运算功能时,将分布字符与功能字符连接起来,就得到所要的命令,我们来举例说明.

(1)概率函数

输入:

ynormpdf(2.523)%N(29),在x2.5处的概率密度(标准正态的μσ2可省略)

输出为:

y0.1311

输入:

ybinopdf(37100.3)%二项分布B(100.3)k34567的概率

输出为:

y0.26680.20010.10290.03680.0090

(2)分布函数

输入:

ynormcdf([1 0  1.5]02)%N(022)x=-101.5处的分布函数

输出为:

y

030850.50000.7734

输入:

yfcdf(11050)%F(1050)x1处的分布函数

输出为:

y0.5436

(3)逆概率函数

逆概率函数是分布函数F(x)的反函数,即给定概率α,求满足αF(xα)=∫xαp(x)dxxα,也称xα为该分布的下α分位数.

输入:

 ynorminv(0.772402)%N(022)0.7724下分位数

输出为:

 y1.4935

输入:

  ytinv([0.30.999]10)%t (10)0.30.999下分位数

输出为:

 y=-0.54154.1437

(4)期望与方差

输入:

 [mv]normstat(14)%计算N(142)的期望和方差

输出为:

m1v16

输入:

 [mv]fstat(35)%计算F(35)的期望和方差

输出为:

 m1.6667v11.1111

1.3 随机数

常用的生成随机数的命令及格式有:

rand(mn)%生成(01)上均匀分布的mn列随机数矩阵

randn(mn)  %生成标准正态分布N(01)mn列随机数矩阵

randperm(N)  %生成12,…,N的一个随机排列

random(distp1p2,…,N)  %生成以plp2,…为参数的mndist类分布随机数矩阵,dist是表示分布类型的字符串

unidrnd(Nmn)  %生成12,…,N的等概率mn列随机数矩阵

binornd(kpmn)  %生成参数为kpmn列二项分布随机数矩阵

unifrnd(abmn)  %生成[ab]区间上连续型均匀分布mn列随机数矩阵

normrnd (musigmamn)  %生成均值为mu,均方差为sigmamn列正态分布随机数矩阵

mvnrnd(musigmam)  %生成n维正态分布数据,这里mun维均值向量,sigman阶协方差矩阵,输出为m×n矩阵,每行代表一个n维正态分布随机数

通常随机数生成函数random可适用的分布类型包括:′Discrete Uniform′(离散均匀分布)′Binomial′(二项分布)′Uniform′(均匀分布)′Normal′(正态分布)′Poisson′(泊松分布)′Chisquare′(χ2分布)′t′(t分布)′f′(F分布)′Geometric′(几何分布)′Hypergeometric′(超几何分布)′Exponential′(指数分布)′Gamma′(Γ分布)′Weibull′(Weibull分布)等.

例如:

random('Binomial'100.5110)%生成110列服从B (10, 0.5)分布的随机数

random('Uniform'1326)  %生成26列服从U[13]分布的随机数

unidrnd (2018)  %生成18列服从120均匀分布的随机数

binornd (100.5110)  %random('Binomial'100.5110)

normrnd (56110)  %生成110列服从N(562)的随机数

mvnrnd([00][10.90.91]10);  %生成10个服从N(00110.9)的二维正态随机数

1.4 统计图

常用的统计作图命令及格式有:

bar(X)%作向量Y的条形图

hist(Xk)  %将向量X中数据等分为k组,并作频数直方图,k的缺省值为10

bar(YX)  %作向量Y相对于X的条形图

[NX]hist(Yk)  %不作图,N返回各组数据频数,X返回各组的中心位置

boxplot(Y)  %作向量Y的箱形图

例如,输入:

vrandn(1100);  %100个标准正态分布随机数

subplot(131)hist(v5);  %作出5组频数直方图,见图(a)

[nx]hist(v5)

输出为:

 n

102640222%各组频数

x

   -1.6232 -0.66210.29911.26022.2213  %各组中心

输入:

subplot(132)bar(xn/100);    %作出5组频数直方图,见图(b)

subplot (133)boxplot(v);  %作出箱型图(c)

箱型图的箱中包含了从25%上分位数到75%上分位数的数据,中间线为中位数.