MATLAB专题6 数据分析

1.相关系数

假设A为一个矩阵,X,Y为两个向量,我们可以使用corrcoef函数求相关系数,其中:

①corrcoef(A)中第(i,j)个元素代表第i列与第j列的相关系数

②corrcoef(X,Y):即为求两个向量的相关系数(依照上面的公式求即可)

2.排序

可使用sort函数

  • sort(X):X 是一个向量或矩阵(默认按列排序)
  • [Y,I] = sort(A,dim,mode)
    • dim:通过列(1)或行(2)进行排序 (需细化顺序:“ascend”,“descend”)
    • Y:排序后的矩阵
    • I:每一个排序后矩阵元素在初始矩阵A中的位置

3.多项式的计算

①多项式的表示

最高次幂为n的多项式可以用长度为n+1的行向量表示,次数由高到低记录每个次方对应的系数(注

意0不能够省略)

②多项式的代数运算

加减:对应相加减

乘法:conv函数:conv(p1,p2)

除法:deconv函数:[Q,r]=deconv(P1,P2)    (Q:P1除以P2的商;r是余数)

P1=conv(Q,P2)+r

③求导

使用polyder函数:

p=polyder(P):P的导数函数;

p=polyder(P,Q):P*Q的导数函数;

[p,q]=polyder(P,Q):P/Q的导数函数。(p为分子,q为分母)

④求多项式在特定位置的值

在Matlab中,polyval(P,A)和polyvalm(P,A)两个不同的函数计算多项式在给定点或矩阵处的值。

  • ·polyval(P,A):这个函数计算多项式P在矩阵A的每个元素处的值。如果A是一个矩阵,那么polyval(P,A)将返回一个与A大小相同的矩阵,其中每个元素是多项式P在该元素处的值
  • · polyvalm(P,A):这个函数计算多项式P在矩阵A处的矩阵值。它要求A是一个方阵,并且返回的结果也是一个方阵。这个函数实际上是在计算矩阵多项式P_1 A^n + P_2 A^{n-1} + \cdots + P_n A + P_{n+1}I,其中I是单位矩阵。

⑤求多项式的根

roots(p) VS poly(x) 

前者通过多项式求根;后者通过根反推多项式

4.曲线拟合问题

目的:通过散点求出拟合的函数(也可以通过插值法),尽可能减小误差

一般使用多项式函数进行拟合,用最小二乘法减小拟合的误差

应使用的matlab函数为polyfit,用法如下:

(1)P=polyfit(X,Y,m)
(2)[P,S]=polyfit(X,Y,m)
(3)[P,S,μ]=polyfit(X,Y,m)

x,y: 样本数据
m: 第m阶多项式P
S: 采样点的误差数据
μ: 二进制向量,μ(1)−mean(X),μ(2)−std(X)

注意:曲线拟合的精准度很多时候取决于采用几次方的幂函数进行拟合,要善于运用工具箱进行确定,也可使用如下程序:

for i=1:5
    y2=polyfit(x,y,i);
    Y=polyval(y2,x);
    if sum((Y-y).^2)<0.1
        c=i
        break;
    end
end

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值