24小时热门版块排行榜    

查看: 593  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

乙凡良

新虫 (小有名气)

[求助] matlab拟合数据???? 已有1人参与

目标函数如下图片所示:
x,y对应值如下:

x                           y

0.003220          5.560760
0.003420                5.561897
0.003620         5.585926
0.003820         5.667371
0.004020         5.612988
0.004220         5.670119
0.004420         5.703140
0.004620         5.747208
0.004820         5.748986
0.005020         5.780545
0.005220         5.860896
0.005420         5.855221
0.005620         5.862226
0.005820         5.935035
0.006020         5.907555
0.006220         5.961461
0.006420         5.991398
0.006620         5.991484
0.006820         5.996356
0.007020         5.989982
0.007220         6.028335
0.007420         6.020197
0.007620         6.017697
0.007820         6.134659
0.008020         6.135323
0.008220         6.110176
0.008420         6.159997
0.008620         6.135110
0.008820         6.198990
0.009020         6.178628
0.009220         6.271552
0.009420         6.257719
0.009620         6.305726
0.009820         6.305890
0.010020         6.309602
0.010220         6.286979

拟合参数,a,r, c, B的值,其中a的取值范围(0.2,0.6),r(0.3,0.5),c(-0.001,0),b(4,8),用了matlab里的拟合工具箱,说方程太复杂拟合不出来,求matlab拟合该方程的程序???

matlab拟合数据????
12.png
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

乙凡良

新虫 (小有名气)

引用回帖:
3楼: Originally posted by dingd at 2015-05-13 22:04:49
没难度啊:

Parameter a=,r=,c=,b=;
Function y=a*(1/r*ln((x-c)*a/0.0000147)+b);
Data;
x                           y
0.003220          5.560760
0.003420                5.561897
0.003620         ...

你用哪个函数求解的啊?我matlab用的不多,对一些拟合函数了解的不深
4楼2015-05-14 15:50:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

feixiaolin

荣誉版主 (文坛精英)

优秀版主

用 1stop 也解不出来
2楼2015-05-13 17:02:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
没难度啊:
CODE:
Parameter a=[0.2,0.6],r=[0.3,0.5],c=[-0.001,0],b=[4,8];
Function y=a*(1/r*ln((x-c)*a/0.0000147)+b);
Data;
x                           y
0.003220          5.560760
0.003420                5.561897
0.003620         5.585926
0.003820         5.667371
0.004020         5.612988
0.004220         5.670119
....

只是拟合公式是过拟合的,解不唯一。

1:
均方差(RMSE):0.0299241203402951
残差平方和(SSE):0.0322363072130566
相关系数(R): 0.991464779695399
相关系数之平方(R^2): 0.983002409376447
确定系数(DC): 0.983002409376447
卡方系数(Chi-Square): 0.00269015521761369
F统计(F-Statistic): 627.539920386496

参数        最佳估算
----------        -------------
a        0.354996057885225
r        0.443615101337285
c        -0.000999999999999999
b        5.1138108023883

2:
均方差(RMSE):0.0299241203402951
残差平方和(SSE):0.0322363072130566
相关系数(R): 0.991464779695399
相关系数之平方(R^2): 0.983002409376447
确定系数(DC): 0.983002409376447
卡方系数(Chi-Square): 0.00269015521936039
F统计(F-Statistic): 627.539920386496

参数        最佳估算
----------        -------------
a        0.400117194038538
r        0.5
c        -0.00099999999999999
b        4.29782573071645


其实原公式可以化简,
原公式:Function y=a*(1/r*ln((x-c)*a/0.0000147)+b);
可以写成:
y=a*1/r*ln((x-c)*a/0.0000147)+b*a;
再写成:
y=a*1/r*(ln(x-c)+ln(a/0.0000147))+b*a;
再写成:
y=a*1/r*ln(x-c)+a*1/r*ln(a/0.0000147))+b*a;
最好简化为:
y=r1*ln(x-c)+a1;
其中:r1=a*1/r, a1=a*1/r*ln(a/0.0000147))+b*a

解唯一稳定:
均方差(RMSE):0.0299241203402951
残差平方和(SSE):0.0322363072130566
相关系数(R): 0.9914647796954
相关系数之平方(R^2): 0.983002409376447
确定系数(DC): 0.983002409376447
卡方系数(Chi-Square): 0.0026901552191239
F统计(F-Statistic): 352.991205217404

参数        最佳估算
----------        -------------
c        -0.000999999999999999
r1        0.800234387454693
a1        9.89135968211093
3楼2015-05-13 22:04:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

乙凡良

新虫 (小有名气)

引用回帖:
3楼: Originally posted by dingd at 2015-05-13 22:04:49
没难度啊:

Parameter a=,r=,c=,b=;
Function y=a*(1/r*ln((x-c)*a/0.0000147)+b);
Data;
x                           y
0.003220          5.560760
0.003420                5.561897
0.003620         ...

关于方程的简化,其实我最后是需要的是a的值,简化之后无法得到具体的a值
5楼2015-05-14 15:55:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见