| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1759 人关注过本帖
标题:请教曲线拟合
只看楼主 加入收藏
yilin_bc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-20
收藏
 问题点数:0 回复次数:9 
请教曲线拟合
请教各位高手一个曲线拟合问题,我一直都弄不出来。感激感激!!

已知实验数据:
c=[0.01,0.03,0.05,0.1,0.3,0.5,0.7,0.9,1,2,3,4,5];
i=[3.117,5.217,6.309,6.561,7.73,14.52,17.16,19.09,20.52,21.11,33.2,33.54,32.18,34.22];
求用以下方程进行拟合:
i=N*a*(c-b*i)^m/(b*(1+a*(c-b*i)^m);

拟合出参数:N,a,b,m

限制条件:N>0,a>0,0=<m=<1,b>0;

搜索更多相关主题的帖子: 曲线拟合 方程 实验数据 感激 
2006-10-20 14:01
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
收藏
得分:0 

两行数据不一致,其中一行少一个数据!

2006-10-20 19:03
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
收藏
得分:0 
模型表达式也不正确。不可表示为i=f(N,a,b,m,c,i),等式右边存在i就不再是非线性拟合问题,而是微分方程的问题了。
2006-10-20 19:39
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
收藏
得分:0 

若:
c=[0.01,0.03,0.05,0.07,0.1,0.3,0.5,0.7,0.9,1,2,3,4,5];
i=[3.117,5.217,6.309,6.561,7.73,14.52,17.16,19.09,20.52,21.11,33.2,33.54,32.18,34.22];
i=b(1)*b(2)*(c-b(3)).^b(4)./(b(3)*(1+b(2)*(c-b(3)).^b(4)))
b=[-4.84011066, 1.28467951, -.123792660, 1.14043532]=[N,a,b,m]

2006-10-20 19:58
yilin_bc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-20
收藏
得分:0 

谢谢斑竹。
写错,应该是c==[0.01,0.03,0.05,0.07,0.1,0.3,0.5,0.7,0.9,1,2,3,4,5];

但是限制条件是:N>0,a>0,0=<m=<1,b>0啊!

2006-10-21 13:25
yilin_bc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-20
收藏
得分:0 

方程右边是有i,有没有办法不用展开右边的就拟合出来呢?

2006-10-21 13:27
yilin_bc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-20
收藏
得分:0 

方程没有错的。

2006-10-21 13:54
ydgsl
Rank: 3Rank: 3
等 级:论坛游民
威 望:8
帖 子:107
专家分:20
注 册:2006-9-20
收藏
得分:0 

方程右边不应存在i,否则无法进行拟合。
b=[.170703249e-9, .753206664, .321200770e-11, .613336604]=[N,a,b,m]

2006-10-21 22:43
yilin_bc
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2006-10-20
收藏
得分:0 
那个方程求解过程中我用taylor把(c-b*i)^m展开得到exp(i*log(c-i*b))+exp(i*log(c-i*b))*log(c-i*b)*(m-i)+1/2*exp(i*log(c-i*b))*log(c-i*b)^2*(m-i)^2
但是这样使方程更加复杂。

请问可否这样:由于知道从c》b*i,所以方程变为:
i=N*a*c^m/(b*(1+a*c^m))——(2)

然后拟合出参数,然后用参数代入原始方程
i=N*a*(c-b*i)^m/(b*(1+a*(c-b*i)^m))——(1)

用i 求出从c1=c-b*i; 再把i,c1代入(2),
求出新一轮的参数。。。如此循环,当两次参数值相差很小时,终结。

这样可行么?还是有什么更好的方法,我对于解出那个方程1,实在束手无策。

感谢斑竹的帮助!
2006-10-22 12:55
youyouyou1
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-8-19
收藏
得分:0 
此乃典型的带约束的隐函数拟合问题,觉得1stOpt可以做。
2007-08-19 20:15
快速回复:请教曲线拟合
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029488 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved