Как записать данные в файл, полученный из функции в Python? - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть функция, которая принимает 4 аргумента, как показано ниже:

def Euler(nsteps, k , m , b):
    nsteps = int(time_interval/step_size)
    # Create empty arrays ready for the values of x and v
    x = np.zeros(nsteps)
    v = np.zeros(nsteps)
    # Choose some initial conditions
    x[0] = 0.0
    v[0] = -1.0
    for i in range(nsteps-1):
        # Calculate the acceleration at step i
        a = -(k/m)*x[i] - (b/m)*v[i]
        # For each configuration at step i, calculate x and v for the later step i+1
        x[i+1] = x[i] + v[i]*step_size
        v[i+1] = v[i] + a*step_size
    return x, v

Я хочу записать x и v в файл, но я не совсем уверен, как. Это то, что у меня есть, и это не работает. Кто-нибудь знает, как это исправить, пожалуйста?

Euler_method = open('Euler_method.txt' , 'w')
Euler_method.write(Euler(nsteps, k, m, b))
Euler_method.close()

1 Ответ

0 голосов
/ 14 апреля 2020

Ваша функция возвращает кортеж, и вы можете легко записать кортеж во внешний файл, если преобразуете его в строку. Таким образом, просто измените свой код:

Euler_method = open('Euler_method.txt' , 'w')
Euler_method.write(str(Euler(nsteps, k, m, b)))
Euler_method.close()

Но не ясно, какова ваша цель и является ли это правильным способом достижения sh вашей цели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...