如何将一系列浮点数(x到y)表示为0-1范围内的一组双精度数,其中x为0且y为1?

时间:2017-07-09 20:58:35

标签: c# math formula

正如问题标题中所示,我正在寻找一种有效的方法来表示(和包括)值x和y之间的一组浮点值,在0-1的一组双精度中,其中x等于0并且y等于1.然后填写两者之间的值。

假设x为5,y为20。

现在,5 = 0,20 = 1。 是否有数学函数来确定c#中10的值?

我觉得我只是想不出以编程方式执行此操作的方法,我可以在其中交换x和y的值。为x和y给出的值将是单个数字。范围为0-1的值应具有2个十进制值的精度。感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

你可以创建自己的函数,它带有x和y,第三个参数是你要映射的值,然后返回它:

 Static double Map(float x, float y, float inputValue){ Return Convert.ToDouble((inputValue-x)/(y-x));}

从逻辑角度来看,您试图找出InputValue在x和y之间的分数。想象一下,在中间的某个地方有一条很长的路。为了找到他的方式,你必须找到他走了多远,这是他的位置减去起始位置,然后除以道路的总距离,在这种情况下是y(结束) -x(起始位置)