通过不同参数迭代公式?

时间:2015-09-21 21:01:35

标签: python simulation physics

我正在编写一些代码来计算流体中两个粒子之间的相互作用。获得新职位的主要公式依赖于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的新手并且还在学习,如果你们能指出任何有助于此的资源我会感激。

1 个答案:

答案 0 :(得分:0)

你的getnewposition代码看起来像这样

def getnewposition(pos1, pos2):
    importantMatrix = getImportantMatrix(pos1,pos2)
    return pos + importantMatrix + getImportantForce(importantMatrix) + pow(getOtherForce(),2)

然后,对于您的主代码,您需要调用的是getnewposition,并在需要时将位置变量作为参数。

或类似的东西。我不太确定你的意思,所以如果你澄清我可以帮助更多。