Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 根据输入值返回一些系数_Python_Math - Fatal编程技术网

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