Я реализовал скрипт Python, и мне нужно использовать 4 вложенных цикла.Я понял, что это делает решение очень медленным.Я также заметил, что подобный цикл в Matlab намного быстрее, чем в Python.
1) Почему тот же цикл в Matlab быстрее, чем в Python?
2) Как я могу улучшить свой код Python (например, векторизация)?Я попробовал функции itertools (комбинации, продукт), но они не ускоряют вычисления.
Я создал класс точек - каждая точка имеет координаты и скорости, и я вычисляю расстояние между ними идругие количества
N = 1000
for i in range(0,N-1):
for i2 in range(0,10):
if p[i].id[i2] == 1: # check if point is active
ri = p[i].r[i2]
vi = p[i].v
else:
pass
for j in range(i+1,N):
for j2 in range(0,10):
if p[j].id[j2] == 1:
rj = p[j].r[j2]
vj = p[j].v
else:
pass
# and the rest of my function
Кто-нибудь может мне помочь?
большое спасибо!