Python 根据输入值返回一些系数
我有一些值Python 根据输入值返回一些系数,python,math,Python,Math,我有一些值z=[20,21.2,23,24.4,…,92.8100],我有min\u coef=0,max\u coef=0.6 有人能帮我创建一个函数,输入我的z值,并返回一些coef作为输入z值吗 我想应该是这样的: def foo(min_z, max_z, min_coef, max_coef, my_z): ... return coef 例1 my_z = 20 my_coef = foo(min(z), max(z), min_coef, max_coef, my
z=[20,21.2,23,24.4,…,92.8100]
,我有min\u coef=0,max\u coef=0.6
有人能帮我创建一个函数,输入我的z
值,并返回一些coef
作为输入z值吗
我想应该是这样的:
def foo(min_z, max_z, min_coef, max_coef, my_z):
...
return coef
例1
my_z = 20
my_coef = foo(min(z), max(z), min_coef, max_coef, my_z)
# my_coef = 0.0 (or 0.00001)
例2
my_z = 60
my_coef = foo(min(z), max(z), min_coef, max_coef, my_z)
# my_coef = 0.3
例3
my_z = 100
my_coef = foo(min(z), max(z), min_coef, max_coef, my_z)
# my_coef = 0.6
特别是,如果有人能告诉我,这是什么类型的数学,我会非常感激,这样我就可以对它进行更多的研究
def foo(min_coef, max_coef, my_z):
min_val = min(my_z)
max_val = max(my_z)
z_range = max_val - min_val
coef_range = max_coef - min_coef
scale = coef_range / z_range
result = []
for i in range(len(my_z)):
result.append((my_z[i] - min_val) * scale + min_coef)
return result
数学是基础代数
编辑:我刚刚意识到,您希望函数采用一个数字而不是一个列表,因此为了完整性,我将包括该函数的代码
def foo(min_coef, max_coef, min_z, max_z, my_z):
z_range = max_z - min_z
coef_range = max_coef - min_coef
scale = coef_range / z_range
return (my_z - min_z) * scale + min_coef