我正在编写一些代码来计算流体中两个粒子之间的相互作用。获得新职位的主要公式依赖于3个其他函数,这些函数可以获得公式的必要组件。
公式基本上是:
new position = old position + Important_matrix * Important_Force + (other force)^2
这是我的代码的基本布局:
initial position of particle 1 = [1,1,1]
initial position of particle 2 = [2,2,2]
def GetImportantMatrix(position of first particle, position of second particle):
'code here'
return the_important_matrix
def GetImportantForce(the_important_matrix):
'code here'
return important_force
def GetOtherForce():
'code here'
return other_force
def getnewposition(initial position of part. 1, initial position of part. 2, the_important_matrix, important_force, other_force, iterations):
???
我的实际问题是:如何在函数中实现公式,以便它自动调用其他函数来获取所需的变量,同时在每次迭代后更新?例如,如何我开始调用其他函数来确保当前函数获取所需的信息,并且每次都正确更新。
我在其他代码片段中看到了一些这样的例子,但我无法弄清楚如何将其应用到我的代码中,因为位置变量每次都会改变,这也使得其他变量每次都会改变。
我希望这有道理吗?我是Python的新手并且还在学习,如果你们能指出任何有助于此的资源我会感激。
答案 0 :(得分:0)
你的getnewposition代码看起来像这样
def getnewposition(pos1, pos2):
importantMatrix = getImportantMatrix(pos1,pos2)
return pos + importantMatrix + getImportantForce(importantMatrix) + pow(getOtherForce(),2)
然后,对于您的主代码,您需要调用的是getnewposition,并在需要时将位置变量作为参数。
或类似的东西。我不太确定你的意思,所以如果你澄清我可以帮助更多。