Math 将此数字转换为40的数学算法/函数?

Math 将此数字转换为40的数学算法/函数?,math,Math,我正在编程一个旋钮,它有一个箭头,它的位置是由一个弧数定义的 我想找到一种方法,把这个弧数转换成一个表示温度的数 最小弧数为1.3,最大弧数为1.7 1.3需要等于40,1.7需要等于99 这是可能的吗?(n-1.3)*147.5+40(n-1.3)*147.5+40当然,只要在上面加一行就行了 在这种情况下,output=147.5*input-151.75当然,只需在其上添加一行即可 在这种情况下,output=147.5*input-151.75这里简单介绍一下线性代数 这两个变量是旋钮位

我正在编程一个旋钮,它有一个箭头,它的位置是由一个弧数定义的

我想找到一种方法,把这个弧数转换成一个表示温度的数

最小弧数为1.3,最大弧数为1.7

1.3需要等于40,1.7需要等于99


这是可能的吗?

(n-1.3)*147.5+40
(n-1.3)*147.5+40
当然,只要在上面加一行就行了


在这种情况下,
output=147.5*input-151.75

当然,只需在其上添加一行即可


在这种情况下,
output=147.5*input-151.75

这里简单介绍一下线性代数

这两个变量是旋钮位置(x)和一些常数(p)

这两个方程是

1.3x + p = 40
1.7x + p = 99
用x解p的第一个方程得到:

p = 40 - 1.3x
如果我们将p的新定义放入第二个方程中,我们可以简化为:

1.7x + 40 - 1.3x = 99
.4x = 59
x = 147.5
然后你可以从任意一个方程中求出p。使用第一个方程式:

p = 40 -1.3*147.5 = -151.75
所以,从旋钮位置得到温度的最终方程式应该是

temp = 147.5*knobPosition - 151.75

这里是线性代数的简单演示

这两个变量是旋钮位置(x)和一些常数(p)

这两个方程是

1.3x + p = 40
1.7x + p = 99
用x解p的第一个方程得到:

p = 40 - 1.3x
如果我们将p的新定义放入第二个方程中,我们可以简化为:

1.7x + 40 - 1.3x = 99
.4x = 59
x = 147.5
然后你可以从任意一个方程中求出p。使用第一个方程式:

p = 40 -1.3*147.5 = -151.75
所以,从旋钮位置得到温度的最终方程式应该是

temp = 147.5*knobPosition - 151.75

如果它是线性的,您可以使用以下公式来考虑任何最小值和最大值:

from_min = -1.3
from_max = 1.7
to_min = 40
to_max = 99
from = <whatever value you want to convert>
to = (from - from_min) * (to_max - to_min) / (from_max - from_min) + to_min
然后使用-1.3作为下限,如您的评论中所述:

(-1.3..1.7) -> (40..99)
to = (from - from_min) * (to_max - to_min) / (from_max - from_min) + to_min
   = (from - -1.3)      * 59                / 3                    + 40
   = (from + 1.3) * 19.67 + 40

这个答案(当然还有迄今为止的所有其他答案)假设它是一个线性函数。根据你在问题中使用的“弧”和“旋钮”等词,这一点并不清楚。如果线性不够,您可能需要一些三角学(正弦、余弦等)。

如果是线性的,您可以使用以下公式来考虑任何最小值和最大值:

from_min = -1.3
from_max = 1.7
to_min = 40
to_max = 99
from = <whatever value you want to convert>
to = (from - from_min) * (to_max - to_min) / (from_max - from_min) + to_min
然后使用-1.3作为下限,如您的评论中所述:

(-1.3..1.7) -> (40..99)
to = (from - from_min) * (to_max - to_min) / (from_max - from_min) + to_min
   = (from - -1.3)      * 59                / 3                    + 40
   = (from + 1.3) * 19.67 + 40

这个答案(当然还有迄今为止的所有其他答案)假设它是一个线性函数。根据你在问题中使用的“弧”和“旋钮”等词,这一点并不清楚。如果线性不够,你可能需要一些三角学(正弦、余弦等)。

这确实是一个简单的代数问题,不需要线性代数

def scale_knob( knob_input ):

  knob_low = -1.3
  knob_high = 1.7
  knob_range = knob_high - knob_low   # 1.7 - -1.3 = 3.0.

  out_low = 40.0
  out_high = 99.0
  out_range = out_high - out_low      # 99.0 - 40.0 = 59.0

  return ( knob_input - knob_low ) * ( out_range / knob_range ) + out_low
  # scaled = ( input - (-1.3) ) * ( 59 / 3.0 ) + 40.0

这确实是一个简单的代数问题,不需要线性代数

def scale_knob( knob_input ):

  knob_low = -1.3
  knob_high = 1.7
  knob_range = knob_high - knob_low   # 1.7 - -1.3 = 3.0.

  out_low = 40.0
  out_high = 99.0
  out_range = out_high - out_low      # 99.0 - 40.0 = 59.0

  return ( knob_input - knob_low ) * ( out_range / knob_range ) + out_low
  # scaled = ( input - (-1.3) ) * ( 59 / 3.0 ) + 40.0

因为我错过了简单的解决方案,这里是另一种思考方法:

let delta(q) denote the rate of change of some quantity q.
那么你的相关价格是多少

delta(output)/delta(input) = (99 - 40) / (1.7 - 1.3) = 59/0.4 = 147.5
因此

假设此功能是连续的(意味着您可以对旋钮进行任意微小的调整,而不是离散的咔哒声),我们可以整合两侧,给出:

output = 147.5 * input + some_constant
因为我们知道,当输入是1.3,那么输出是40,我们有

40 = 147.5 * (1.3) + some_constant
因此

因此,你想要的方程式是

output = 147.5 * input - 151.75

因为我错过了简单的解决方案,这里是另一种思考方法:

let delta(q) denote the rate of change of some quantity q.
那么你的相关价格是多少

delta(output)/delta(input) = (99 - 40) / (1.7 - 1.3) = 59/0.4 = 147.5
因此

假设此功能是连续的(意味着您可以对旋钮进行任意微小的调整,而不是离散的咔哒声),我们可以整合两侧,给出:

output = 147.5 * input + some_constant
因为我们知道,当输入是1.3,那么输出是40,我们有

40 = 147.5 * (1.3) + some_constant
因此

因此,你想要的方程式是

output = 147.5 * input - 151.75

这两个答案都是正确的,但这一个使用较少的运算得到结果。如果最小值为-1.3,函数会发生什么变化?我忘了加负数。两个答案都是正确的,但这一个使用较少的运算得到结果。如果最小值为-1.3,函数会如何变化?我忘了加负数。非常感谢,我需要回到高中,重新学习代数/非常感谢,我需要回到高中,重新学习代数/这就是人们通常所说的“代数”,而不是“线性代数”。你可能会说它是线性函数的代数,有时用f(x)=mx+b的形式表示,但它不是线性代数。这就是人们通常所说的“代数”,而不是“线性代数”。你可以说它是一个线性函数的代数,有时用f(x)=mx+b的形式表示,但它不是线性代数。