24小时热门版块排行榜    

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

haofayi

银虫 (正式写手)

[求助] 求教方程拟合已有3人参与

各位大侠,数据是这样的,三组数据,X1=[0.113 0.245 0.336 0.431 0.589 0.635 0.757 0.771 0.851 0.877];
Y1=[4.94 7.20 8.16 9.22 10.89 12.74 17.80 18.38 24.72 28.70];
T=278

X2=[0.113 0.231 0.331 0.432 0.544 0.591 0.725 0.755 0.817 0.851];
Y2=[4.58 6.67 7.62 8.88 10.15 10.87 14.55 17.39 21.83 24.65];
T=293

X3=[0.112 0.201 0.316 0.432 0.484 0.532 0.658 0.747 0.794 0.823];
Y3=[3.27 4.99 5.57 7.48 7.90 9.02 12.20 15.33 17.11 19.34];
T=313
相当于3个温度下测得的3组数据,方程y=(a+bT)*(x/(1-x))^c,   这样可以拟合出a, b, c三个参数吗??  最后也就是希望能一个方程,里面有x,T两个变量,能够描述3组数据。可以吗???请大侠赐教。  matlab方法。
回复此楼
努力吧
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haofayi

银虫 (正式写手)

引用回帖:
10楼: Originally posted by 531271452 at 2014-08-13 22:38:15
我也觉得你是这个意思,我可是忙了好长时间才帮到你的啊,以后记得咱俩互帮互助啊...

谢谢兄弟,要在一个城市(上海),我请你吃一顿都没问题。如果我能帮助到你,那肯定不遗余力。谢谢
努力吧
11楼2014-08-14 08:36:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 16 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
haofayi: 金币+5, 有帮助 2014-08-13 11:43:32
不强调Matlab的话,1stOpt倒是方程简单方便:
CODE:
VarConstant T=[278,293,313];
Function y=(a+b*T)*(x/(1-x))^c;
Data;
X=[0.113 0.245 0.336 0.431 0.589 0.635 0.757 0.771 0.851 0.877];
Y=[4.94 7.20 8.16 9.22 10.89 12.74 17.80 18.38 24.72 28.70];
Data;
X=[0.113 0.231 0.331 0.432 0.544 0.591 0.725 0.755 0.817 0.851];
Y=[4.58 6.67 7.62 8.88 10.15 10.87 14.55 17.39 21.83 24.65];
Data;
X=[0.112 0.201 0.316 0.432 0.484 0.532 0.658 0.747 0.794 0.823];
Y=[3.27 4.99 5.57 7.48 7.90 9.02 12.20 15.33 17.11 19.34];

均方差(RMSE):0.814290243914772
残差平方和(SSE):19.8920580400433
相关系数(R): 0.993546313881282
相关系数之平方(R^2): 0.987134277827083
确定系数(DC): 0.985099174842384
F统计(F-Statistic): 678.546504952918

参数                  最佳估算
--------------------        -------------
a        22.5665701284962
b        -0.043791180491037
c        0.503456846947289
2楼2014-08-12 22:44:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haofayi

银虫 (正式写手)

引用回帖:
2楼: Originally posted by dingd at 2014-08-12 22:44:06
不强调Matlab的话,1stOpt倒是方程简单方便:

VarConstant T=;
Function y=(a+b*T)*(x/(1-x))^c;
Data;
X=;
Y=;
Data;
X=;
Y=;
Data;
X=;
Y=;


均方差(RMSE):0.814290243914772
残差平方和(SSE): ...

你好,dingd,1stopt方程确实很简单,我第一次知道这个,之前用matlab,origin。我看到文献上有人用差分进化法 (Differential Evolution - DE)算法。您上面的方程a,b,c的参数,带入方程怎么误差比较大。这已经算是最优解?
努力吧
3楼2014-08-13 09:38:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1413965491

新虫 (初入文坛)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
haofayi: 金币+5, 有帮助 2014-08-13 11:43:13
使用matlab中的三维拟合曲线就行,自变量看成x和t,因变量看成y
做到最后
4楼2014-08-13 09:51:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见