matlab polyfit 相关系数是什么?

如题所述

a=polyfit(x,y,1);

z=polyval(a,x);

R=corrcoef(x,y);

所示为线性拟合

这样得到的R即为相关系数矩阵,其中

R(1,2)=R(2,1)为相关系数,其值在[-1,1]之间,1表示最大的正相关,-1表示绝对值最大的负相关。

polyfit疑问:

n=[1,2,4,8];  
t=[7.17,6.77,6.13,5.73]; 
t1=[7.21,6.88,6.32,5.84];
p=polyfit(log(n),log(t),1);
p1=polyfit(log(n),log(t1),1); 
a=exp(p(2))
b=p(1)
a1=exp(p1(2))
b1=p1(1)
t1=a*n.^b;
plot(n,t,'+',n,t1,'-')

解法:

p=polyfit(x,y,n)返回阶数为n的多项式p(x)的系数,该阶数是y中数据的最佳拟合(在最小二乘方式中)。p中的系数按降幂排列,p的长度为n+1。这是helppolyfit的部分解释。

所以,在你这里,P里面装有两个数,一个是常系数p(2),一个是自变量的系数p(1).exp(p(1))是e的p(1)次方。之所以这个代码里有exp出现,是因为多项式拟合的时候,把原数据转换为对数形式了。

温馨提示:答案为网友推荐,仅供参考