如何求一组数据里最接近某个值的数在哪里
比如采样一个正弦信号想找到相位 pi/4 的那个点
如果将所有数都减去所求点的值
然后求其绝对值的最小点所在
也可以但是觉得运算量太大
处理大批数据时太耗费时间
大家帮忙看看有什么更简单的办法
谢谢
回复 楼主 ludian 的帖子
你的这个方法对呀。但确实麻烦了点。如果要改进的话,好像没有什么好的办法了吧。
如果有,也要结合你的系统特点来做了,通性通法大概没有吧。。 不太确定楼主的需求!
但感觉楼主好像要使用for loop的样子, 这是刚接触matlab易犯的问题
试试 xx=sin(2*pi*); =min(abs(xx-0.707))
好像不麻烦也不耗费时间!? 题目没有看懂,可否详细说明
回复 板凳 ChaChing 的帖子
用这个方法,即使数据量大点应该也很快,这种问题不建议用for循环,呵呵。如果数据没有规律,只能这样了,感觉回复 板凳 ChaChing 的帖子
多谢我只需要序列号就行了 用的是这个t1 = find ( abs( z1 - sin(1.25*pi)) == min ( abs( z1 - sin(1.25*pi)) ) ) ;
和你这个基本一样吧
页:
[1]