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。这是help polyfit的部分解释。
所以,在你这里,P里面装有两个数,一个是常系数p(2),一个是自变量的系数 p(1).exp(p(1))是e的p(1)次方。之所以这个代码里有exp出现,是因为多项式拟合的时候,把原数据转换为对数形式了。
广告 您可能关注的内容 |