На этот раз это не очень важный вопрос, но, возможно, интересный.
Предположим, у нас есть две переменные x
и y
.Эти переменные зависят от времени (дискретное время).У нас есть начальные условия, и мы хотим их повторить со временем.Допустим, у нас есть x[0] = a
и y[0] = b
.Теперь мы хотим вычислить все заданные точки за небольшой промежуток времени и знаем следующее соотношение между этими двумя переменными:
x[n+1] = x[n] + y[n]
y[n+1] = y[n] + np.sin(x[n+1])
Конечно, мы можем сделать это с помощью цикла:
x[0], y[0] = a, b
for n in range(100): # just an arbitrary iteration
x[n+1] = x[n] + y[n]
y[n+1] = y[n] + np.sin(x[n+1])
Хорошо.Это возможно, если я не ошибся =).Что я хочу, так это, возможно, иметь гораздо лучший и более numpy
-подобный способ решения проблемы без итерации.Я пытался придумать какие-то сдвиги или другие вещи.Я просто хочу вычислить массивы без цикла, потому что циклы действительно скучные.У меня только что была идея с рекурсивными вызовами функций, но я должен попробовать ее завтра утром.