matlab polyfit 相关系数是什么?
1个回答
展开全部
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出现,是因为多项式拟合的时候,把原数据转换为对数形式了。
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出现,是因为多项式拟合的时候,把原数据转换为对数形式了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询