Это правильный способ получить показатель Ляпунова через Python?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Это правильный способ получить показатель Ляпунова через Python?

Сообщение Anonymous »

Я пытаюсь получить показатель Ляпунова с помощью кода Python
(1) У меня есть трехмерные данные, поэтому я использовал расстояние Евклида, чтобы получить расстояние между двумя точками.
Я хочу найти ближайшую к текущей точке точку и пройти 500 точек. -> 1 массив
И создайте большой массив, сконцентрировав эти массивы.

Код: Выделить всё

from math import dist
ITP = 100
bigarray = pd.DataFrame(columns=range(1, ITP+1))
array = pd.DataFrame(columns=range(1, ITP+1))  #make array

for i in range(len(data_final)-ITP):
current_point = data_final[i]
min_distance = float('inf')
nearest_point = None  #initiate

for j in range(len(data_final)-ITP):  #find closest spot
distance = dist(current_point, data_final[j])  # Euclid distance
if i != j and distance < min_distance:  #
min_distance = distance  # update min_distance
nearest_point = j  # update nearest_point

for k in range(ITP):  # make array
array.loc[0, k+1] = dist(data_final[i+k], data_final[nearest_point+k])

bigarray = pd.concat([bigarray, array], ignore_index=True)
array = pd.DataFrame(columns=range(1, ITP+1))
(2) После этого я получил каждое среднее значение по 100 (ITP) столбцам и получил значения журнала.

Код: Выделить всё

import math

mean_final = [0 for i in range(ITP)]

for i in range(1, ITP+1):
mean_final[i-1] = (bigarray[i].mean())

for i in range(0, ITP) :
mean_final[i] = math.log(mean_final[i])
mean_final
Вообще-то, по некоторым данным,

у меня получился вот такой график.
введите сюда описание изображения

Код: Выделить всё

import matplotlib.pyplot as plt

rng1 = ITP
plt.subplot(1, 2, 2)
plt.plot(range(len(mean_final[0:rng1])), mean_final[0:rng1], label='Lyapunov Exponent', color='red')
plt.title('Lyapunov Exponent over Time')
plt.xlabel('Index')
plt.ylabel('Lyapunov Exponent')
plt.show()
Так это правильный ответ с вычислением показателя Ляпунова??

Подробнее здесь: https://stackoverflow.com/questions/790 ... ugh-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»