【发布时间】:2014-05-15 18:04:38
【问题描述】:
我正在使用 Matlab 分析一些数据,因为我需要曲线拟合,我从文档中编写了这段代码:
% I is 14 points vector that change its value in a loop
y =0:13;
[p,S] = polyfit(I,y,1);
[fx, delta] = polyval(p,I,S);
plot(y,I,'+',fx,I,'-');
这是我得到的:
我的问题是,如何评估这个“拟合”,我的意思是它有多好,我怎样才能得到这条线的斜率?
更新
在 Rafaeli 的回答之后,我很难理解结果,因为 fx 是考虑到 'I' 的 y 的拟合曲线拟合,这意味着我得到了 `fx':
-1.0454 3.0800 4.3897 6.5324 4.0947 3.8975 4.3476 9.0088 5.8307 6.7166 9.8243 11.4009 11.9223
I 的值是:
0.0021 0.0018 0.0017 0.0016 0.0018 0.0018 0.0017 0.0014 0.0016 0.0016 0.0014 0.0012 0.0012 0.0013
情节的值正好是“I”:
所以我希望得到的结果应该接近这些值!试图切换
[p,S] = polyfit(y,I,1);
但不是更好fx= 0.0020,所以我的问题是我该怎么做?
第二次更新 明白了,代码如下:
y = 0:13 p = polyfit(y,I,1) fx = polyval(p,y); plot(y,I,'+',y,fx,'o')
结果如下:
感谢您的帮助!
【问题讨论】:
标签: matlab