急!!!求个简单算法

当我遇上-你 2009-12-04 12:10:14
要求变量t范围是(0到4095)中的一个数据,
现在要把它对应s(-9.99到+9.99)中的某一个数据,
举例:t=0,对应 s=-9.99;
t=2048对应 s=0;
t=4095对应 s=+9.99;
求算法C,vc,c++,均可
...全文
83 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
red-fly 2009-12-04
  • 打赏
  • 举报
回复
要求变量t范围是(0到4095)中的一个数据,
现在要把它对应s(-9.99到+9.99)中的某一个数据

总的数量:L = (9.99 - (-9.99)) * 100 + 1 = 1999; // s总共有1999个数字
s中的索引号:I = t[x] * L / 4060; // t总共有4060个数字
s[I]即是你要找的在t中的x对应的数字
fandh 2009-12-04
  • 打赏
  • 举报
回复
上面已经有答案了!大家都这么厉害!呵呵
shuilongyin_00 2009-12-04
  • 打赏
  • 举报
回复
是在做拉伸或压缩吗?A->B

先归一化,再乘上权重!不过会有些点被河蟹掉!

A/(A_max-A_min)*(B_max-B_min)+B_min
maple_zhj 2009-12-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 liuchaotao 的回复:]
s=t/4095.*9.99*2-9.99
[/Quote]


就是这个了。

也就是说, 先归一化,再加上 左值,然后OK
yaozhiyong110 2009-12-04
  • 打赏
  • 举报
回复
不好意思 19.98
yaozhiyong110 2009-12-04
  • 打赏
  • 举报
回复
s的增长率和t的增长率同步不就是你要的效果?
t-t(原来)/ 1.98 = s - s(原来) / 4095
这还要什么算法啊
vclongking 2009-12-04
  • 打赏
  • 举报
回复
同意楼上
liuchaotao 2009-12-04
  • 打赏
  • 举报
回复
s=t/4095.*9.99*2-9.99
一行乱码 2009-12-04
  • 打赏
  • 举报
回复
厄 我的想法:
求出S的范围值除以t的范围值的结果:m_dir
然后每次t++的时候s+m_dir
不知道对不对
当我遇上-你 2009-12-04
  • 打赏
  • 举报
回复
谢谢大家

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧