注册 登录
编程论坛 Matlab

[求助]一个曲线的拟合问题 (急......)

keendl 发布于 2006-10-28 15:01, 1147 次点击

以下数据可以画出一个曲线(见下图),现在要将曲线近于直线的地方(大概是两端,有时不是)拟合成直线,上下各一条。
请问:怎么选择数据?怎么拟合才能最佳?

只有本站会员才能查看附件,请 登录

[此贴子已经被作者于2006-10-28 15:10:35编辑过]

9 回复
#2
hitzhang2006-11-01 15:56
如果你里哦阿姐神经网络到可以试试这种方法

#3
ydgsl2006-11-05 14:19

这样的数据很难找到一个适合的模型,若第一列数据为Y, 第二列数据是X, 用该近似模型:
Y=f(b,X)=(b(1)+b(2)*X+b(3)*X.^2)./(1+b(4)*X+b(5)*X.^2)+b(6)*exp(b(7)*X+b(8)*X.^2);
其中
B=[3226.06109,8218.89291,5622.50818,2.54769341,1.74303131,-3227.93469,-.316188482e-3,-.276654495e-3]
R2=.990847
可得到较好的拟合,但并不完美!

#4
keendl2006-11-10 10:20
,谢谢,我试试.
#5
keendl2006-11-10 10:26
直线部分拟合
我想要曲线中近似直线部分的直线拟合,不是将整条曲线拟合.
可以帮忙再看一下吗?谢谢.
#6
hitzhang2006-11-11 21:35
我想的有一个指标来衡量你的拟和效果
例如相关系数
你可以通过循环语句从近似直线的部分开始
知道达到相关系数上限
这样具有再次相关系数下的直线数据就得到了
#7
keendl2006-11-11 23:54
我也想到这样,可是不会写程序。
不会使用那个相关系数。
#8
ydgsl2006-11-12 08:10

直线拟合(figure中tools中的basic fitting)、求线性相关系数(corrcoef)固然很简单,但只将近似直线的部分用直线拟合的做法是不可取的,因它不符合逻辑,没有道理。

#9
dongyunfeng2006-11-14 12:37
我是菜鸟,求教大家,如何实现将VB中的数值赋值给MATLAB中的函数?我的联系方式
QQ:409104373 E-mail:dongyunfeng2004@126.com
#10
dongyunfeng2006-11-14 12:37

求助:我是菜鸟,求教大家,如何实现将VB中的数值赋值给MATLAB中的函数?我的联系方式
QQ:409104373 E-mail:dongyunfeng2004@126.com

1