回 帖 发 新 帖 刷新版面

主题:求助:数据拟合问题

各位matlab达人你们好,最近小弟我碰到这样一个问题:有这样一组数据
x: 0.3000    0.3000    0.6000    0.9000    1.2000    1.5000    1.8000    2.1000  2.4000    2.7000    3.0000    3.3000    3.6000    3.9000    4.2000    4.5000  4.8000    5.1000    5.4000    5.7000    6.0000    6.3000    6.6000    6.9000  7.2000    7.5000    7.8000    8.1000    8.4000    8.7000    9.0000    9.3000   9.6000    9.9000
y:0.0600    0.8402    2.2089    3.6612    6.0336   10.5753   13.3002       11.3635      9.4616    8.0174    6.8264    6.1115    5.3517    4.6051    3.6603    2.7403    1.9258    1.2844    0.8366    0.4846    0.2876    0.1568    0.0876    0.0541   0.0272    0.0145    0.0103    0.0060    0.0039    0.0018    0.0006    0.0003   0.0003    0.0003
不知道x,y之间满足什么样的关系式,可否通过某种数据拟合方式给出两者满足的关系式
y=f(x),具体得怎么做。
对您的解答提前表示感谢!!

回复列表 (共7个回复)

沙发

兄弟,你找本书看看吧。想拟合成多项式很简单的,一般的书上都有原例

板凳

一种可能的关系如:
yhat=(b(1)+b(2)*x+b(3)*exp(b(4)*x+b(5)*x.^2))./(1+b(6)*exp(b(7)*x+b(8)*x.^2));
b=[-1.59005867, 6.0122246, 4.2344905, -11.966196, 8.4359227, .20598443, -11.8470945, 8.51316437]
SSy=494.0594
RSS=2.535205586
MSe=0.0975
R^2=.994869

3 楼

[quote]一种可能的关系如:
yhat=(b(1)+b(2)*x+b(3)*exp(b(4)*x+b(5)*x.^2))./(1+b(6)*exp(b(7)*x+b(8)*x.^2));
b=[-1.59005867, 6.0122246, 4.2344905, -11.966196, 8.4359227, .20598443, -11.8470945, 8.51316437]
SSy=494.0594
RSS=2.535205586
MSe=0.0975
R^2=.994869[/quote]
这个是怎么弄出来的?

4 楼

[quote]一种可能的关系如:
yhat=(b(1)+b(2)*x+b(3)*exp(b(4)*x+b(5)*x.^2))./(1+b(6)*exp(b(7)*x+b(8)*x.^2));
b=[-1.59005867, 6.0122246, 4.2344905, -11.966196, 8.4359227, .20598443, -11.8470945, 8.51316437]
SSy=494.0594
RSS=2.535205586
MSe=0.0975
R^2=.994869[/quote]

有没有什么办法找到比较适合给出数据的关系式原形然后再去拟合?还是
完全凭感觉,或者是其他外界因素判断?

5 楼

综合

6 楼

[quote]综合[/quote]
可否再详细介绍一下你用的办法,我好查阅相关的函数和资料

7 楼

模型的选择比较复杂,没有那本书能提供很好的参考。对我而言,我主要针对数据特征再加上试算,找一个相对比较简单而适当的模型。至于参数估计,你可用
lsqcurvefit or nlinfit 进行,其初值可采用(或接近)上述结果便可。

我来回复

您尚未登录,请登录后再回复。点此登录或注册