找回密码
 注册
Simdroid-非首页
查看: 106|回复: 4

matlab中有函数可以找出信号x(t) 的所有极大点和极小点么?

[复制链接]
发表于 2009-12-28 22:17:41 | 显示全部楼层 |阅读模式 来自 江苏南京
matlab中有函数可以找出信号x(t) 的所有极大点和极小点么?
或者有相关的算法可以做?
谢谢指点。


如下图的极值,怎么将极值弄出来?显然目测不好,呵呵。
谢谢了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2009-12-28 22:30:56 | 显示全部楼层 来自 上海浦东新区
Simdroid开发平台
本帖最后由 shipboard 于 2009-12-29 09:15 编辑

我是自己写了一个函数,每次MAX取最大值,取出后将最大值项替换为最小值项,再调用Max函数,个人感觉也不是很好,不过还凑合能行
错了,我这里是分段取最大值,看好波形周期,(仅对周期函数有效)

好的解决方案见下面

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2009-12-28 23:15:54 | 显示全部楼层 来自 浙江杭州
回复 不支持

使用道具 举报

发表于 2009-12-29 07:28:11 | 显示全部楼层 来自 北京
1# jacobi
看你的图,似乎只要峰值,不要波谷
可以这样,这是针对离散点的,你可以参考

  1. IndMax=find(diff(sign(diff(data)))<0)+1;
  2. plot(data(2,:),data(1,:))
  3. hold on
  4. plot(IndMax,data(IndMax),'k*')
  5. legend('曲线','波峰点')
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2009-12-29 09:21:56 | 显示全部楼层 来自 江苏南京
谢谢楼上诸位的回复,
确实是仅仅要所有的极大值。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-7 01:26 , Processed in 0.044139 second(s), 18 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表