求解python

时间:2017-01-29 18:07:58

标签: python arrays scipy nonlinear-functions

我有一个需要解决这个方程组的作业:

enter image description here

所以我的变量是:

enter image description here

所以我有N-1个方程和N-1个变量。我应该使用scipy.optimize库在Python中解决它,但我在编程方面不是很好,而且我卡住了。我的代码如下所示:(N = 500 btw)

def fun(x, F):
    for j in range(1000):
        if j < N:
            return F[j + 1] * (x[j] - x[j + 1]) + F[j + 2] * (x[j + 2] - x[j + 1]
        else:
            return -F[j + 1] * np.sqrt(l ** 2 - (x[j + 1] - x[j + 1]) ** 2) + F[j + 2] * np.sqrt(l ** 2 - (x[j + 2] - x[j + 1]) ** 2) - m * g * l
prom = scipy.optimize.root(fun, (x0, f0))

我收到了这个错误:

  

TypeError:fun()缺少1个必需的位置参数:&#39; F&#39;

问题是我真的不知道如何使用scipy函数,但我尝试创建一个方程数组,我在变量x 0 和F <子> 0 。所以我想问一下我的函数是否实际上与我的方程对应,我的意思是如果我使用循环正确编程或者我应该使用其他东西。而且如果我成功创建了与我的方程组相对应的函数,我如何使用scipy来解决它?我应该提出什么论点?

0 个答案:

没有答案