首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

请问一个算法!找最大点的。多谢

2012-02-03 
请教一个算法!找最大点的。。谢谢问题描述:在PC104上写的一个程序。用于天线自动跟踪卫星。(硬件的不考虑,只考

请教一个算法!找最大点的。。谢谢
问题描述:在PC104上写的一个程序。用于天线自动跟踪卫星。(硬件的不考虑,只考虑我们程序中的判断)
程序每一分钟检测一次接受到的卫星信号值。
当程序检测到接收的信号值比标准值小的时候(也就是发现卫星偏移了。),开始驱动天线转动来找卫星。
首先是水平方向找。先往右转,发现值更小了。   说明方向不对。然后往左转。一直转到水平方向上的最大值,停下来。垂直方向找。先往上找。发现接受到的信号值小了。就往下走。直到找到垂直方向上的最大信号值,停下来。这时候就是找到正对着卫星的方向拉。

就这样的一个程序。请各位说一下思路和最优的算法。。谢谢。
(我目前的思路是转0.1度然后采集信号值,跟刚才的比较。就这样一直判断着转动。不知道朋友们有没有更好的办法。谢谢)

提供思路     和   类似算法。

[解决办法]
具体的技术我不懂
不过给点建议还是可以的

使用查找算法中的折半查找方法来实现
先移动10度
然后判断是否已经超过,如果超过了在回来5度再判断
可以使用类似的方法来实现
[解决办法]
关键点在于怎么样取这个值
这个比较难

由于技术上我不懂,所以只能给上面的建议了
[解决办法]
是計算出結果后轉動 還是算一點轉一點?
[解决办法]
其实方法 用术语讲就是 折半查找
取值怎么取,那是难点.
比如10度,或1度

取值的过程是这样的
初始化 S
然后依次移动 S/2 S/4 S/8  直到你找到位置
关于正反方向移动取决于卫星的位置.
[解决办法]
你可以记录上一次卫星的偏移方向沙, 那么下一个寻找方向以上一次记录的水平和垂直方向优先,如果不是增强则再判断啦,

热点排行