matlab polyfit 相关系数是什么?

 我来答
康撒帽遥丶苦1I
推荐于2019-10-03 · TA获得超过1593个赞
知道小有建树答主
回答量:102
采纳率:59%
帮助的人:10.3万
展开全部

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出现,是因为多项式拟合的时候,把原数据转换为对数形式了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式