【发布时间】:2019-05-16 19:44:33
【问题描述】:
假设我有一个函数数组,每个函数都有相同的参数,但每个函数都以不同的方式处理参数。然后我想遍历一个循环,一遍又一遍地使用我的函数数组来获取更新的值。如何将参数传递给函数?
def f_1(a, b, c):
val = a + b + c
return val
def f_2(a, b, c):
val = a*b + c
return val
# something like this?
fun_arr = [f_1, f_2]
val1 = [fun_arr[0](a1, b1, c1), fun_arr[1](a1, b1, c1)]
val2 = [fun_arr[0](a2, b2, c2), fun_arr[1](a2, b2, c2)]
我希望上面的伪代码有意义。这是我正在尝试做的简化版本。
如果上下文有帮助,我正在尝试为一个方程组编写一个 RK2 算法,该方程组可能会被重用于一组通用 ODE。我想我可以很容易地编写一些适用于我的特定问题的简单代码,但我想挑战自己以使我的代码可重用。
【问题讨论】:
-
@RandomDavis 感谢您的链接。我只是看着它,我将尝试实现它。以下答案中提供的示例将有所帮助。我希望我知道如何快速在文档中找到答案……您是否知道那在哪里?如果没有,帮助您找到它的搜索字符串是什么?
-
我已经知道参数扩展,所以我只需要找到那个页面,但我知道它存在。我最初了解它是因为我看到它被使用并查找它。也许一本书是了解所有这些小事的好方法。
-
通常更容易反过来设计接口,使用向量参数的向量值函数,使用积分方法中的向量运算。