bkm1983 发表于 2009-7-24 14:32

曲线拟合

有个问题向大家请教。我现在有两个函数y1=f1(x),y2=f2(x),y1,y2关于x的曲线见附件(但是关系式未知)。如果知道y2与y1之间或者y2与y1,x之间也存在某种关系,能通过这个曲线拟合出相应的表达式么,即 y2=f(y1)或者y2=f(y1,x)能不能通过什么方法或者软件拟合,谢谢。

VibrationMaster 发表于 2009-7-24 22:18

先确定模型,然后lsq

ChaChing 发表于 2009-7-24 23:14

不是很确定LZ需求!
猜测LZ是要求transfer function!? 但跟拟合有何关联?
不懂! 待高人路过!

ChaChing 发表于 2009-7-24 23:18

回复 沙发 VibrationMaster 的帖子

what is lsq? Thank!

VibrationMaster 发表于 2009-7-25 06:33

helplsqnonlin
LSQNONLIN solves non-linear least squares problems.
    LSQNONLIN attempts to solve problems of the form:
    minsum {FUN(X).^2}    where X and the values returned by FUN can be   
            x             vectors or matrices.
............

re-us 发表于 2009-7-25 09:30

如果想确定y2=f(y1),
1. plot(y1,y2)
2.看看像什么样子,比如线性,指数,对数什么的
3.然后用lsq,fit什么的

matlab最大的问题就是不能自动选择两者之间的关系,听说1stopt可以直接得出两者的关系,不过从来没有用过,因为还没有发现那里有破解版的

bkm1983 发表于 2009-7-25 18:13

To VibrationMaster:
我现在的问题就是不知道怎么确定模型,我知道如果知道模型用最小二乘是可以拟合其中的参数的. 不知道你有没有什么好的建议来确定模型啊,谢谢.

TO ChaChing,
确实是大致相当与transfer function 之类的东西,就是已知了y1,y2,如何通过他们一系列离散的数据来确定他们之间的关系,所以用到了拟合.

To re-us:
我也想通过plot(y1,y2)来大致了解y1,y2之间的关系, 但是这里y2与y1并不是一一对应的关系,所以画出来的图相当乱,看不出什么关系来.实在不行只好看看能不能在哪里弄个1stopt试试看了.谢谢.

ChaChing 发表于 2009-7-25 19:08

昨晚没太多时间细看! 刚刚仔细观察下LZ的图! y2好像与1/y1相关嘛! 没数据, 不好说!

bkm1983 发表于 2009-7-25 19:53

对,忘了。现在把数据文件附上,麻烦大家给个意见,谢谢。

VibrationMaster 发表于 2009-7-25 21:30

确定模型的方法: 1。 根据文献和前人的经验
               2。从最简单假设开始,逐步提高复杂性,直到满足要求

ChaChing 发表于 2009-7-26 16:25

看完LZ的资料并绘图, 并非如个人原先猜测!
y2并非简单与1/y1相关! 待高人路过

wl258433334 发表于 2009-8-13 17:10

从数据看,感觉是实验观测到的数据,个人认为,还是应从理论出发,推导出大概的函数形式,然后用所得数据求出函数中的未知量。如果单纯用得到的数据进行拟合,会比较难,而且即使得到了拟合函数,也很难表达这些数据的物理意义。

baogangshi@gmai 发表于 2011-9-28 16:41

拜读,高人贴。敢问楼主,问题是否解决?如何解决?
页: [1]
查看完整版本: 曲线拟合