Lyapunov exponent function submitted by community

8 ビュー (過去 30 日間)
Don
Don 2022 年 6 月 14 日
回答済み: Sam Chak 2022 年 6 月 18 日
It seems this funcftion only takes Ordinary Differential Equations (ODE). I have experimental data. how can I use it with data, instead of ODE
  7 件のコメント
Torsten
Torsten 2022 年 6 月 15 日
編集済み: Torsten 2022 年 6 月 15 日
@Don comment moved here:
Were gaining on it!
The function i'm interested in has been submitted by the COMMUNITY:
MathWorks FileExchange website for community implementations of Lyapunov Exponent calculations. https://www.mathworks.com/matlabcentral/fileexchange/4628-calculation-lyapunov-exponents-for-ode
However, this one apparently works with ODE
I have experimental data. I need one that works with a data file. There is one in the Predictive Maintenance Toolbox, but that costs a lot of money and I have no use for the rest of the toolbox.
is tit possible to find a community supplied function that will work with data??
Don
Don 2022 年 6 月 15 日
Thank you Thank you Thank you I think this might get it

サインインしてコメントする。

採用された回答

Sam Chak
Sam Chak 2022 年 6 月 18 日
Hi @Don
If your experimental data is not large, then you can test lyapunovExponent() here to see if it works for your case.
% Parameters
sigma = 10;
beta = 8/3;
rho = 28;
% Lorenz System
f = @(t, x) [-sigma*x(1) + sigma*x(2); ...
rho*x(1) - x(2) - x(1)*x(3); ...
-beta*x(3) + x(1)*x(2)];
tspan = linspace(0, 88, 8801);
init = [1 1 1];
[t, x] = ode45(f, tspan, init);
plot3(x(:,1), x(:,2), x(:,3)), view(45, 30)
% Characterize the rate of separation of infinitesimally close trajectories
xdata = x(:,1);
fs = 10;
dim = 3;
[~, lag] = phaseSpaceReconstruction(xdata, [], dim);
eRange = 50;
lyapunovExponent(xdata, fs, lag, dim, 'ExpansionRange', eRange)

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMatrix Computations についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by