MATLAB数据分析与多项式计算

来源:互联网 发布:java怎么安装 编辑:程序博客网 时间:2024/06/05 09:14

MATLAB


数据统计处理

最大值和最小值

  1. 求向量的最大值最小值
    (1) y=max(X):返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值
    (2) [y,I]=max(X):返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大值。
    (3) min(X)和max(X)的用法相同

  2. 求矩阵的最大值最小值
    (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行上的最大值。

  3. 两个向量或矩阵的比较
    (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是一个矩阵
  1. sum(X):返回向量X各元素的和。
  2. prod(X):返回向量X各元素的乘积。
  3. sum(A,dim):当dim=1时,返回一个行向量,其第i个元素是A的第i列的元素和;当dim=2时,当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和
  4. 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]。

曲线拟合

离散傅立叶变换

多项式计算

原创粉丝点击