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的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

531271452

铁杆木虫 (著名写手)

引用回帖:
9楼: Originally posted by haofayi at 2014-08-13 21:52:07
和我的理想基本一样,非常棒。谢谢。金币只有这么多了,这一段比较穷。这点金币不足以代表我的感激。再次感谢。...

我也觉得你是这个意思,我可是忙了好长时间才帮到你的啊,以后记得咱俩互帮互助啊
10楼2014-08-13 22:38:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

531271452

铁杆木虫 (著名写手)

引用回帖:
13楼: Originally posted by haofayi at 2014-08-20 11:13:54
你好,再请教一个问题, 上图中的三维拟合图怎么输出成图像,并进行坐标轴等之类的编辑呢。...

xlabel('x','fontsize',20,'fontname','隶书')
ylabel('y','fontsize',20,'fontname','隶书')
zlabel('t','fontsize',20,'fontname','隶书')
把这几行代码放到前面的程序中的mesh函数的下一句,单引号中的‘x'、‘y’、‘z’的内容可以自己更换。图片输出可以在图片显示出来之后,点击file→save as,然后选择需要输出的位置和图片的格式即可。
15楼2014-08-20 17:03:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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的回帖

haofayi

银虫 (正式写手)

引用回帖:
4楼: Originally posted by 1413965491 at 2014-08-13 09:51:48
使用matlab中的三维拟合曲线就行,自变量看成x和t,因变量看成y

兄弟能大致给出m文件吗。其实我希望的理想结果还希望配上图。 拟合曲线图。谢谢啦~~
努力吧
5楼2014-08-13 11:43:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haofayi

银虫 (正式写手)

引用回帖:
4楼: Originally posted by 1413965491 at 2014-08-13 09:51:48
使用matlab中的三维拟合曲线就行,自变量看成x和t,因变量看成y

金币本不多,文献求助花了不少。很抱歉,这次求助我就剩这么多金币了。
努力吧
6楼2014-08-13 11:45:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

2#给出的结果可以说是最好的了,如果你的数据和公式没问题的话。
7楼2014-08-13 13:19:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

531271452

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
haofayi: 金币+5, ★★★★★最佳答案 2014-08-13 21:50:51
figure(1)
x=[0.113 0.245 0.336 0.431 0.589 0.635 0.757 0.771 0.851 0.877, 0.113 0.231 0.331 0.432 0.544 0.591 0.725 0.755 0.817 0.851, 0.112 0.201 0.316 0.432 0.484 0.532 0.658 0.747 0.794 0.823];
y=[278*ones(1,10) 293*ones(1,10) 313*ones(1,10)];
% z=(1+1*t)*(x/(1-x))^2;
z=[4.94 7.20 8.16 9.22 10.89 12.74 17.80 18.38 24.72 28.70, 4.58 6.67 7.62 8.88 10.15 10.87 14.55 17.39 21.83 24.65, 3.27 4.99 5.57 7.48 7.90 9.02 12.20 15.33 17.11 19.34];
plot3(x,y,z,'*')
hold on
  x=linspace(0,1,15);
%  t=278*ones(1,15);
t=linspace(278,325,15);
[X,T]=meshgrid(x,t);
% Y=(10.8919-0.0087*T).*(X./(1-X)).^(-1.0445);
Y=(22.56-0.04*T).*(X./(1-X)).^(0.503);
mesh(X,T,Y)
figure(2)
x=[0.113 0.245 0.336 0.431 0.589 0.635 0.757 0.771 0.851 0.877, 0.113 0.231 0.331 0.432 0.544 0.591 0.725 0.755 0.817 0.851, 0.112 0.201 0.316 0.432 0.484 0.532 0.658 0.747 0.794 0.823];
y=[278*ones(1,10) 293*ones(1,10) 313*ones(1,10)];
% z=(1+1*t)*(x/(1-x))^2;
z=[4.94 7.20 8.16 9.22 10.89 12.74 17.80 18.38 24.72 28.70, 4.58 6.67 7.62 8.88 10.15 10.87 14.55 17.39 21.83 24.65, 3.27 4.99 5.57 7.48 7.90 9.02 12.20 15.33 17.11 19.34];
plot3(x,y,z,'*')
hold on
  x=linspace(0,1,15);
%  t=278*ones(1,15);
t=linspace(278,325,15);
[X,T]=meshgrid(x,t);
Y=(10.8919-0.0087*T).*(X./(1-X)).^(1.0445);
% Y=(22.56-0.04*T).*(X./(1-X)).^(0.503);
mesh(X,T,Y)
这是我的做法,用Matlab拟合,对于你给的数据,我先用拟合工具箱拟合,再用拟合函数,综合起来拟合的还不错的
求教方程拟合
第二种拟合.jpg


求教方程拟合-1
第一种拟合.jpg


求教方程拟合-2
拟合工具拟合.jpg

» 本帖已获得的红花(最新10朵)

8楼2014-08-13 14:19:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

haofayi

银虫 (正式写手)

引用回帖:
8楼: Originally posted by 531271452 at 2014-08-13 14:19:12
figure(1)
x=;
y=;
% z=(1+1*t)*(x/(1-x))^2;
z=;
plot3(x,y,z,'*')
hold on
  x=linspace(0,1,15);
%  t=278*ones(1,15);
t=linspace(278,325,15);
=meshgrid(x,t);
% Y=(10.8919-0.0087*T).*(X./(1- ...

和我的理想基本一样,非常棒。谢谢。金币只有这么多了,这一段比较穷。这点金币不足以代表我的感激。再次感谢。
努力吧
9楼2014-08-13 21:52:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 haofayi 的主题更新
信息提示
请填处理意见