24小时热门版块排行榜    

查看: 3192  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

smart824

新虫 (初入文坛)

[求助] 离散点求导数?

这样,我有两组离散的数据,一组是自变量,另一组是应变量,现在我想求他们的导数,我自己已经用差分法编了程序算,但是有几个点总是不太好,所以想请问一下大家能不能给我提供另外一种好的方法,万分感谢!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

锐利的碎片

木虫 (正式写手)

star watcher

【答案】应助回帖

感谢参与,应助指数 +1
样条拟合也可以,你看下附件里别人写的程序。

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : diff.rar
  • 2012-03-16 14:11:16, 2.59 K
11楼2012-03-16 14:11:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 14 个回答

yalefield

金虫 (文坛精英)

老汉一枚

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
dbb627: 金币+2, 感谢应助 2012-03-15 14:10:33
建议先插值、平滑。
然后,用Savitzky-Golay求导
【要求自变量是等距离变化的!所以,如果原来的自变量不是均匀的,就要插值咯】。
满足自变量等距的条件后,用Savitzky-Golay多项式(如7点3次)求导【下面的这些y应该是等距的x所对应的y哟】:

一阶导数【注意下标范围】:
CODE:
y[i] = (22 * (y[i - 3] - y[i+3] - 67 * (y[i - 2] - y[i+2]) - 58 * (y[i - 1] - y[i + 1])) / 252;

二阶导数:
您自己推导?还是另外开贴?
2楼2012-03-15 11:37:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

公式有小错啦!
CODE:
y[i] = (22 * (y[i - 3] - y[i+3]) - 67 * (y[i - 2] - y[i+2]) - 58 * (y[i - 1] - y[i + 1])) / 252;

3楼2012-03-15 11:38:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

smart824

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by yalefield at 2012-03-15 11:38:08:
公式有小错啦!

y = (22 * (y - y) - 67 * (y - y) - 58 * (y - y)) / 252;

谢谢啊,我先好好看看你给我说的!
4楼2012-03-15 13:04:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见