TI中文支持网
TI专业的中文技术问题搜集分享网站

C6713找最大值和次大值

我目前要用C6713处理上万个数据,其中有一步是要找出这些数据中的最大值和次大值。在matlab上我是用函数先找出最大值,然后将所有的最大值置0(可能多个位置同时出现最大值),再找最大值,这样得到次大值。但是在dsp上,我用这个方法实现时遇到了问题。找最大值用的DSPLIB中的DSPF_sp_maxval函数,找最大值对应的位置是DSPF_sp_maxidx,但是实际运行时发现DSPF_sp_maxidx函数会跑很长时间(就是跑5分钟仍然没出结果)。我想问的是:

1.我的这种找最大值和次大值的思路是否可行?有没有比这种方法更有效的方法?

2.如果DSPF_sp_maxidx这个函数不行,还有没有更好的建议?

user4333456:

我自己发现了其中一个问题的原因。DSPF_sp_maxidx这个函数对数据的个数有要求:
nx is a multiple of 3.
nx >= 3,and nx <= 2^16-1.
我的数据个数刚好是2^16,所以程序有问题。不过这样如何解决找出最大值对应的位置?

user4333456:

回复 Shine:

谢谢,我自己也发现了这个问题,但是有没有更好的建议?包括第一点

赞(0)
未经允许不得转载:TI中文支持网 » C6713找最大值和次大值
分享到: 更多 (0)