MATLAB
数据统计处理
最大值和最小值
求向量的最大值最小值
(1)y=max(X)
:返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值
(2)[y,I]=max(X)
:返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。
(3) min(X)和max(X)的用法相同求矩阵的最大值最小值
(1)max(A)
:返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。
(2)[Y,U]=max(A)
:返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号
(3)max(A,[],dim)
:dim取1或2。dim取1时,该函数和max(A)完全相同;dim取2时,该函数返回一个列向量,其第i个元素是A矩阵的第i行上的最大值。两个向量或矩阵的比较
(1)U=max(A,B)
:A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。
(2)U=max(A,n)
:n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。
(3) min函数的用法和max完全相同。
求和与乘积
设X是一个向量,A是一个矩阵
-
sum(X)
:返回向量X各元素的和。 -
prod(X)
:返回向量X各元素的乘积。 -
sum(A,dim)
:当dim=1时,返回一个行向量,其第i个元素是A的第i列的元素和;当dim=2时,当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和 -
prod(A,dim)
:当dim=1时,返回一个行向量,其第i个元素是A的第i列的元素乘积;当dim=2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积
平均值与中值
mean(X)
:返回向量X的算术平均值。
median(X)
:返回向量X的中值。
mean(A,dim)
:当dim为1时,返回一个行向量,其第i个元素是A的第i列的算术平均值。;当dim为2时,返回一个列向量,其第i个元素是A的第i行的算术平均值。
median(A,dim)
:当dim为1时,返回一个行向量,其第i个元素是A的第i列的中值;当dim为2时,返回一个列向量,其第i个元素是A的第i行的中值。
累加和与累加积
cumsum(X)
:返回向量X累加和向量。
cumprod(X)
:返回向量X累乘积向量。
cumsum(A,dim)
:当dim=1,返回一个矩阵,其第i列是A的第i列的累加和向量。当dim=2,返回一个矩阵,其第i行是A的第i行的累加和向量。
cumprod(A,dim)
:当dim=1,返回一个矩阵,其第i列是A的第i列的累乘积向量。当dim=2,返回一个向量,其第i行是A的第i行的累乘积向量。
标准方差与相关系数
y=std(x)
算出x的标准偏差。
x可以是向量或者一个矩阵
若x是vector,则y是算x的标准偏差。
若x是matrix,则y是个vector,存放的是算每一列/行的标准偏差。
std (x, flag,dim)
返回标准方差
fla表示标注公差时是要除以n还是n-1
flag==0------是除以n-1
flag==1------是除以n
Dim==1-------求各列的标准方差
Dim==2-------求各行的标准方差
var(x)
返回方差
range(x)
返回极差
corrcoef(X)
:返回从矩阵X形成的一个相关系数矩阵。此相关系数矩阵的大小与矩阵X一样。它把矩阵X的每列作为一个变量,然后求它们的相关系数。
corrcoef(X,Y)
:在这里,X,Y是向量,它们与corrcoef([X,Y])的作用一样。
偏度与峰度
随机变量 x 的偏度和峰度指的是 x 的标准化变量$$((x-Ex))⁄√Dx$$ 的三阶中心矩和四阶中心矩:
偏度反映分布的对称性, v1 > 0称为右偏态,此时数据位于均值右边的比位于左边的多; ν 1 < 0 称为左偏态,情况相反;而ν 1接近 0 则可认为分布是对称的。
峰度是分布形状的另一种度量,正态分布的峰度为 3,若ν 2 比 3 大得多,表示分布有沉重的尾巴,说明样本中含有较多远离均值的数据,因而峰度可以用作衡量偏离正态分布的尺度之一。
Matlab 中 moment(x,order)
返回 x 的 order 阶中心矩,order 为中心矩的阶数。skewness(x)
返回 x 的偏度,kurtosis(x)
返回峰度。
在以上用 Matlab 计算各个统计量的命令中,若 x 为矩阵,则作用于 x 的列,返回一个行向量。
排序
sort(X)
函数返回一个对X中的元素按升序排列的新向量。
sort函数也可以对矩阵A的各列或各行重新排序,其调用格式为:
[Y,I]=sort(A,dim)
其中dim指明对A的列还是行进行排序。若dim=1,则按列排;若dim=2,则按行排。Y是排序后的矩阵,而I记录Y中的元素在A中位置。
频数
求频数用 hist 命令实现,其用法是:
[N,X] = hist(Y,M)
得到数组(行、列均可) Y 的频数表。它将区间[min(Y),max(Y)]等分为 M 份(缺省时M 设定为 10), N 返回 M 个小区间的频数, X 返回 M 个小区间的中点。
hist(Y,M)
画出数组 Y 的直方图。
数据插值
y=interp1(x0,y0,x,'method')
method 指定插值的方法,默认为线性插值。其值可为:
'nearest' 最近项插值
'linear' 线性插值
'spline' 逐段 3 次样条插值
'cubic' 保凹凸性 3 次插值。
所有的插值方法要求 x0 是单调的
Matlab 中三次样条插值也有现成的函数:
y=spline(x0,y0,x);
pp=csape(x0,y0,conds), y=ppval(pp,x) ```
对于三次样条插值,我们提倡使用函数 csape, csape 的返回值是 pp 形式,要求插值点的函数值,必须调用函数 ppval。
`pp=csape(x0,y0)`:使用默认的边界条件,即 Lagrange 边界条件。
`pp=csape(x0,y0,conds)`中的 conds 指定插值的边界条件,其值可为:
'complete' 边界为一阶导数,即默认的边界条件
'not-a-knot' 非扭结条件
'periodic' 周期条件
'second' 边界为二阶导数,二阶导数的值[0, 0]。
'variational' 设置边界的二阶导数值为[0,0]。
##曲线拟合
##离散傅立叶变换
##多项式计算