完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
有一组数据,我想取其前N位求出最大值的位置,然后从这个位置往后再取N位求最大值的位置,依此循环。不过这里的循环该怎么做我还没有想出思路,希望大家给我指点一下,谢谢。
|
|
相关推荐
9个回答
|
|
用一个for循环就搞定了,先知道循环中值的次数,或者条件终止。每个循环取子数组,然后对子数组求最大最小值,最后用数组保存最大值
|
|
|
|
本帖最后由 victor400 于 2014-12-5 16:43 编辑
刚开始没注意你是从前N个数中的最大值再开始取N个数!可是你这样不就是求整个数组的最大值吗(如果后面的N个数的第一个数为前N个数的最大值的数的话),直接用数组里面的的数组最大最小值就行了;如果是从最大值后面一个数开始,求每N个数的最大值,则我下面这个可以实现! |
|
|
|
试了好几次都打不开,能不能看下是不是vi有什么问题或者直接发线路图也可以,谢谢了 |
|
|
|
你的问题的最终答案是什么?数组的最大值还是?我的那个VI是8.5版本的你都打不开?不会吧。现在在家里。那个是我上班在公司写的。所以现在没有。其实我写的那个就是每N个数求最大值,并记录下在数组的位置。我还是不太明白你是想做什么的。是这样的吗?假如数组是100~1的递减数列数组,N=10。那么前十个数的最大值就是100也就是第一个数。你的意思是再从99开始再取十个数吗?那么从99开始取十个数到90,最大值是99。一直会是98...10。如果这样的话我的那个VI就不对,因为我那个VI是每N个数求最大值。即100到91求最大值100。90到81求最在值90。只不过变量为N罢了。即取的个数不一样。
|
|
|
|
不好意思回的有点晚,我想求的其实就是一段波形数据里的所有波峰位置。你发的那个我用12和13都打不开,不是提示错误就是直接无反应,可以的话麻烦发下线路图之类也可以的,我就是关于动态取N值的地方不太清楚应该怎么做 |
|
|
|
这样可以么,看看
|
|
|
|
如果是波峰为什么要有个N,你直接将所有数据存一个数组里面,用某数看是否大于前一个数并大于后一个数,这个数不就是波峰了吗?然后将波峰另存为数组2.那么数组2就是所有波峰值。再处理数组2就可以了。求最大值,取N个数求最值等等都可以啊 |
|
|
|
可能是我表示的不太清楚吧,我是要处理这样一段波形,不是单纯把小波峰提取出来,因为波形波动幅度很大无法通过设定阀值来检测,所以我想通过检测相对距离内的最大值来确定波峰的位置。 |
|
|
|
学习学习
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1839 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1453 浏览 0 评论
1651 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
3665 浏览 3 评论
1562 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 18:13 , Processed in 0.697443 second(s), Total 64, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号