suannai 发表于 2008-4-18 17:48

帮忙拟合个曲线

大家帮忙拟合个曲线吧,多谢了。求Matlab代码
我可以帮助大家查外文文献,我这方面权限挺高,呵呵
谢谢!

sigma665 发表于 2008-4-18 18:11

回复 楼主 的帖子

先两边取ln,然后在用2次曲线拟合

suannai 发表于 2008-4-18 18:17

恩,说的对,我试试,那就是再用一个变量,让它等于ln(y/C)

2365215 发表于 2008-4-18 19:08

matlab里面有曲线拟合工具cftool,自己拟合吧。

kangtj 发表于 2008-4-18 22:19

我已经帮你拟合了。结果在仿真论坛里。自己去看

花如月 发表于 2008-4-18 22:33

原帖由 kangtj 于 2008-4-18 22:19 发表 http://www.chinavib.com/forum/images/common/back.gif
我已经帮你拟合了。结果在仿真论坛里。自己去看
这种做法我不太赞同,何必舍近求远。

suannai 发表于 2008-4-19 08:19

就是,麻烦版主帮忙演示一下,我也看不到结果

原帖由 花如月 于 2008-4-18 22:33 发表 http://www.chinavib.com/forum/images/common/back.gif

这种做法我不太赞同,何必舍近求远。

huright 发表于 2008-4-19 10:40

General model:
       f(x) = a*exp(b*x+c*x^2)
Coefficients (with 95% confidence bounds):
       a =       3.248(-6.367, 12.86)
       b =       3.505(-4.614, 11.62)
       c =      -0.111(-5.255, 5.033)

Goodness of fit:
SSE: 1.147
R-square: 0.9998
Adjusted R-square: 0.9995
RMSE: 1.071

[ 本帖最后由 huright 于 2008-4-19 10:49 编辑 ]

gdayang 发表于 2008-4-19 11:29

呵呵,自己是新手,刚学习了一下,呵呵

suannai 发表于 2008-4-19 13:27

非常感谢huright 的答案,我想知道在Matlab里面怎么实现,而不仅仅是答案,再次感谢huright 的答案,不知是否能讲的详细一些,我想我们论坛很多人都会遇到类似的问题,谢谢啦

原帖由 huright 于 2008-4-19 10:40 发表 http://www.chinavib.com/forum/images/common/back.gif
General model:
       f(x) = a*exp(b*x+c*x^2)
Coefficients (with 95% confidence bounds):
       a =       3.248(-6.367, 12.86)
       b =       3.505(-4.614, 11.62)
       c =      -0.111(- ...

sigma665 发表于 2008-4-19 14:08

回复 10楼 的帖子

他用的是工具箱

ch_j1985 发表于 2008-4-19 20:09

原帖由 suannai 于 2008-4-19 13:27 发表 http://www.chinavib.com/forum/images/common/back.gif
非常感谢huright 的答案,我想知道在Matlab里面怎么实现,而不仅仅是答案,再次感谢huright 的答案,不知是否能讲的详细一些,我想我们论坛很多人都会遇到类似的问题,谢谢啦



步骤如下,有不妥的地方还望指点:
第一步:在Command Window中输入cftool命令,出现Curve Fitting Tool窗口;
第二步:在Command Window中输入您的X、Y数据,X=;Y=;
第三步:在Curve Fitting Tool窗口选择Data按钮,出现Data窗口,在X Data下拉列表框中选择X,在Y Data下拉列表框中选择Y,然后点击Creat data set按钮,最后点击Close,关闭窗口;
第四步:在Curve Fitting Tool窗口选择Fitting按钮,出现Fitting窗口,点击New fit按钮,在Data set下拉列表框中选择上一步建立的Data set,在Type of fit下拉列表框中选择Custom Equations,点击New equation按钮,出现Creat Custom Equation窗口,选择General Equations选项卡,在里边输入自己要拟合的函数,输完之后点击OK,回到Fitting窗口,点击中间的一个Apply按钮,结果就会出现在Results框内。

suannai 发表于 2008-4-21 13:05

非常感谢ch_j1985 的回答,说的很详细,我有两个问题:1、一般曲线拟合要设置初值,请问Maltab这个工具是怎么考虑初值的?如果初值改变是不是结果也变了?
2、还是那个问题,怎么判断拟合精度?



原帖由 ch_j1985 于 2008-4-19 20:09 发表 http://www.chinavib.com/forum/images/common/back.gif


步骤如下,有不妥的地方还望指点:
第一步:在Command Window中输入cftool命令,出现Curve Fitting Tool窗口;
第二步:在Command Window中输入您的X、Y数据,X=;Y=

[ 本帖最后由 suannai 于 2008-4-21 13:55 编辑 ]

ch_j1985 发表于 2008-4-21 13:23

回复 13楼 的帖子

实在不好意思啊,我也是跟着8楼的帖子学的,你提的两个问题,我也不是太清楚,你可以看看Matlab帮助文件,或者是问问8楼的主人:@(

raozel 发表于 2008-4-21 18:36

如果想实现程序化,建议lsqcurvefit,是一个很好的通用拟合手段,但需要猜测初值,多解时会出现和fslove命令同样的问题。具体操作可以doc查看
页: [1] 2
查看完整版本: 帮忙拟合个曲线