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是一个方阵,并且返回的结果也是一个方阵。这个函数实际上是在计算矩阵多项式
,其中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