24小时热门版块排行榜    

查看: 3155  |  回复: 10

water11

金虫 (正式写手)

[求助] MATLAB曲线拟合 已有4人参与

请教大家一个用MATLAB进行曲线拟合的问题。
现有100行数据,每行3000个数据,其实就是一个3000*100的矩阵,希望找到一个指数函数与此相拟合。我用MATLAB画出了这100条曲线,可实在想不出对这些曲线拟合,找到一个与这些曲线相符的指数函数。请大家帮帮忙,万分感谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

meatball1982

铜虫 (小有名气)

我是以y=a*exp(x)+b作个例子,LZ具体的可以按自己的函数写。只要在定义函数那里修改就好。
如果LZ的不知道函数是什么形式,我的思路是多作几种,然后把100条线中,拟合效果最好的那个函数形式找出来 。

只作一咱函数形式的例子如下。

分三部分,生成数据,拟合,输出。
LZ是100条线,每条3000个点。
我的是5条线,每条10个点(省时)。

具体的程序如下,不明白matlab的函数看帮助。
我没说清楚的思路可以跟贴。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : test_fit_diff_plot.m
  • 2014-01-15 11:17:26, 724 bytes
  • 附件 2 : dif_lines.jpg
  • 2014-01-15 11:17:40, 25.34 K
唉。还是学吧。
3楼2014-01-15 11:17:46
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

jsky1988

新虫 (小有名气)

引用回帖:
8楼: Originally posted by jsky1988 at 2014-01-15 22:55:43
最好确定一个有限长度的函数:
y=a(n)x^n+a(n-1)x^(n-1)+...a(0)x,n是有限的
然后采用最小二乘矩阵估计,求出各个系数,你简单计算一下矩阵方程,就很容易求出各个系数。。然后再matlab中通过矩阵求。。希望对你有 ...

忘了说一点,matlab中是有这个的拟合函数的,叫polyfit函数,你可以查查看它的原理。。
9楼2014-01-15 22:59:57
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
jjdg: 感谢参与 2014-02-21 16:15:34
首先我觉得,用一条指数曲线拟合100条曲线,肯定是需要先将100行数据先求平均再进行处理的。这点同意七楼观点。其次,你怎么知道单一指数能拟合好?你必须对曲线进行半对数作图(semilogy)。如果半对数作图的结果显示接近一条直线才能认为可用单指数回归。否则,需要对数据进行拉普拉斯逆变换(ILT)。实际可用非负约束的吉洪诺夫正则化算法来分析指数成分。楼主方便的话可以把数据发上来,我帮你看看。

[ 发自手机版 http://muchong.com/3g ]
10楼2014-01-16 00:41:38
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

polypro

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
xzhdty: 谢谢参与 2014-01-15 09:00:36
water11: 金币+20, 有帮助 2014-01-15 19:59:17
指数函数有好多种,看你要用几个参数?对于这没多的拟合,建议可以用R-project编程算一下比较快。
泉涸,鱼相与处于陆,相呴以湿,相濡以沫,不如相忘于江湖。
2楼2014-01-15 08:11:54
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

mxlhit

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
water11: 金币+20, ★★★很有帮助 2014-01-15 19:58:50
还有一个简单的方法可以参考一下,就是你把数据放到EXCEL中,会自动拟合曲线,有个功能,然后你可以选择是拟合成几次的都可以改。
天行健,君子以自强不息。地势坤,君子以厚德载物
4楼2014-01-15 16:03:18
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

water11

金虫 (正式写手)

引用回帖:
3楼: Originally posted by meatball1982 at 2014-01-15 11:17:46
我是以y=a*exp(x)+b作个例子,LZ具体的可以按自己的函数写。只要在定义函数那里修改就好。
如果LZ的不知道函数是什么形式,我的思路是多作几种,然后把100条线中,拟合效果最好的那个函数形式找出来 。

只作一咱 ...

非常感谢回复。我看到了你的图,是5条拟合曲线,也就是对每条曲线进行拟合。 我需要的最终结果不是分别对每条线拟合来得到100条拟合曲线,而是找到一条指数曲线,使之与这100条曲线都拟合。请问你有其他的办法可以把你的这5条线拟合成一条吗?非常感谢。
5楼2014-01-15 19:56:15
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

water11

金虫 (正式写手)

引用回帖:
4楼: Originally posted by mxlhit at 2014-01-15 16:03:18
还有一个简单的方法可以参考一下,就是你把数据放到EXCEL中,会自动拟合曲线,有个功能,然后你可以选择是拟合成几次的都可以改。

非常感谢你的回复。EXCEL里可以自动拟合曲线吗?你说的是“添加趋势线”吗?这个我试过了,只能对单独一条线拟合。请问,你能不能说下你提到的具体是哪个功能?谢谢。
6楼2014-01-15 19:58:33
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

meatball1982

铜虫 (小有名气)

引用回帖:
5楼: Originally posted by water11 at 2014-01-15 19:56:15
非常感谢回复。我看到了你的图,是5条拟合曲线,也就是对每条曲线进行拟合。 我需要的最终结果不是分别对每条线拟合来得到100条拟合曲线,而是找到一条指数曲线,使之与这100条曲线都拟合。请问你有其他的办法可以 ...

我的思路是将所有的数据进行平均,然后 作一次曲线拟合。
具体的程序如下。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : dif_oneline.jpg
  • 2014-01-15 20:24:00, 19.36 K
  • 附件 2 : test_fit_diff_plot.m
  • 2014-01-15 20:24:14, 1.11 K
唉。还是学吧。
7楼2014-01-15 20:24:31
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

jsky1988

新虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
water11: 金币+20 2014-02-13 07:13:19
最好确定一个有限长度的函数:
y=a(n)x^n+a(n-1)x^(n-1)+...a(0)x,n是有限的
然后采用最小二乘矩阵估计,求出各个系数,你简单计算一下矩阵方程,就很容易求出各个系数。。然后再matlab中通过矩阵求。。希望对你有帮助。。x^n级数是几乎可以通用的,当然你也可以拟合成傅里叶级数。。希望这个思路对你有帮助。。
8楼2014-01-15 22:55:43
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 water11 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 h4CP7TrQR8Lg 2026-08-22 3/150 2026-08-23 16:30 by lXgU0RvNTDC9
[论文投稿] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 DpSrDtM079iu 2026-08-22 3/150 2026-08-23 15:33 by KM5EcsNQRBPn
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 DpSrDtM079iu 2026-08-22 4/200 2026-08-23 15:30 by KM5EcsNQRBPn
[考博] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 14:57 by KM5EcsNQRBPn
[基金申请] 什么时候开奖? +9 CrisMessi 2026-08-18 10/500 2026-08-23 12:03 by 丶昵称占用
[基金申请] 让我中一个面上吧! +12 大萍1987 2026-08-20 14/700 2026-08-23 10:30 by wrm
[基金申请] 今天放榜吗? +15 布布和一二 2026-08-19 16/800 2026-08-23 09:55 by 张春生
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 5/250 2026-08-23 07:41 by OEbVnUOu01ol
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 2JOx3r2CYEgw 2026-08-22 4/200 2026-08-23 04:04 by OEbVnUOu01ol
[基金申请] 93BebMhtakh前后11位开头都是大写 +7 且听虎啸 2026-08-17 8/400 2026-08-22 21:55 by 医学老男孩
[基金申请] 只有每年这种时候来逛逛小木虫 +24 yaoyewhu2008 2026-08-20 26/1300 2026-08-22 17:43 by kammury
[教师之家] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +4 2JOx3r2CYEgw 2026-08-21 4/200 2026-08-22 16:52 by sunzitan
[基金申请] 今天基金会出结果吗?20260819 +16 kkkl_v 2026-08-19 17/850 2026-08-22 16:12 by 阿布Abu
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见