24小时热门版块排行榜    

查看: 2826  |  回复: 7

kerven

专家顾问 (著名写手)

将军

[求助] 连续数据如何求相邻两极值点差

连续数据如何求相邻两极值点差?麻烦各位了,谢谢!

[ 来自小组 机械电子家族 ]
回复此楼

» 收录本帖的淘帖专辑推荐

机械科研经验专辑

» 猜你喜欢

科研与生活
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kerven

专家顾问 (著名写手)

将军

数据是通过数采仪器直接获得的,一长串数据
科研与生活
2楼2013-06-22 09:56:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

kerven

专家顾问 (著名写手)

将军

在线等,麻烦了
科研与生活
3楼2013-06-22 10:37:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Nkxz

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
kerven: 金币+2, ★★★很有帮助, 谢谢,我对matlab很不熟悉,麻烦你能帮我完整版的matlab程序吗? 2013-06-24 23:04:03
x = diff(x0)
其中x0是原始数据;x是相邻两点数据的差值。
4楼2013-06-24 13:47:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Nkxz

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★
kerven: 金币+3, ★★★很有帮助, 谢谢你 2013-06-25 09:50:52
首先把你的数据导入到matlab,先弄到excel格式,然后复制到matlab或者通过其它方法,因为比较基础,可以自己网上搜下相关的数据导入方法资料;然后把你的数据存为x0,再通过上面的diff命令就可以实现相邻两个数的差了。
5楼2013-06-25 07:41:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cjjdemon

木虫 (正式写手)

游荡的骑士

【答案】应助回帖

★ ★
kerven: 金币+1, ★★★很有帮助, 谢谢,关键是我需要找到的是连续的极值点,不知道如何解决? 2013-07-10 11:17:41
jjdg: 金币+1, 感谢参与 2013-07-11 04:14:22
连续数据,可以用求导的方式来找到极点。在excel里,delta(y)/delta(x),然后取连续两个斜率最小点,或取最接近的两个斜率变号点。
小时候,我总以为自己可以拯救整个世界;但是长大以后,我突然发现整个世界都拯救不了我。。。
6楼2013-07-10 08:18:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

★ ★
jjdg: 金币+2, 辛苦了 2013-07-11 04:14:08
数据保存为向量a(我随机了10个0-100的数代替)
然后用下面的代码即可
CODE:
% 数据
a = randi(100,[1,10]);
% 极大值点
maxa = find(diff(sign(diff(a)))==-2)+1;
% 极小值点
mina = find(diff(sign(diff(a)))==2)+1;
% 极大极小值index排序
alla = sort([maxa,mina]);
% 求相邻极值点差
difa = diff(a(alla));
% 原数据
figure,plot(a);hold on;
% 极大值
plot(maxa,a(maxa),'b*');
% 极小值
plot(mina,a(mina),'ro');
% 结果
xlabel({strcat('极大值(*)坐标:',num2str(maxa)),
        strcat('极小值(o)坐标:',num2str(mina)),
        strcat('极值点之差: ',num2str(difa))});

结果:
连续数据如何求相邻两极值点差
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
7楼2013-07-10 20:23:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
8楼2013-07-13 14:21:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 kerven 的主题更新
信息提示
请填处理意见