|
38 | 38 |
|
39 | 39 | u0 = [1.0;0.0;0.0] |
40 | 40 | tspan = (0.0,100.0) |
41 | | -dt = 0.005 |
| 41 | +dt = 0.1 |
42 | 42 | prob = ODEProblem(lorenz,u0,tspan) |
43 | 43 | sol = solve(prob, Tsit5(), saveat = dt, progress = true) |
44 | 44 |
|
45 | | -# Differential data from equations |
46 | | -X = Array(sol) |
47 | | -DX = similar(X) |
48 | | -for (i, xi) in enumerate(eachcol(X)) |
49 | | - DX[:,i] = lorenz(xi, [], 0.0) |
50 | | -end |
51 | 45 |
|
52 | 46 | ## Start the automatic discovery |
53 | | -ddprob = ContinuousDataDrivenProblem(X, sol.t, DX = DX) |
| 47 | +ddprob = ContinuousDataDrivenProblem(sol) |
54 | 48 |
|
55 | 49 | @variables t x(t) y(t) z(t) |
56 | 50 | u = [x;y;z] |
57 | 51 | basis = Basis(polynomial_basis(u, 5), u, iv = t) |
58 | 52 | opt = STLSQ(exp10.(-5:0.1:-1)) |
59 | 53 | ddsol = solve(ddprob, basis, opt, normalize = true) |
60 | | -system = result(ddsol) |
| 54 | +print(ddsol, Val{true}) |
61 | 55 | ``` |
62 | 56 |
|
63 | 57 | ``` |
64 | | -Model ##Basis#350 with 3 equations |
65 | | -x(t) y(t) z(t) |
| 58 | +Explicit Result |
| 59 | +Solution with 3 equations and 7 parameters. |
| 60 | +Returncode: sucess |
| 61 | +Sparsity: 7.0 |
| 62 | +L2 Norm Error: 26.7343984476783 |
| 63 | +AICC: 1.0013570199499398 |
| 64 | +
|
| 65 | +Model ##Basis#366 with 3 equations |
| 66 | +States : x(t) y(t) z(t) |
66 | 67 | Parameters : 7 |
67 | 68 | Independent variable: t |
68 | 69 | Equations |
69 | 70 | Differential(t)(x(t)) = p₁*x(t) + p₂*y(t) |
70 | 71 | Differential(t)(y(t)) = p₃*x(t) + p₄*y(t) + p₅*x(t)*z(t) |
71 | 72 | Differential(t)(z(t)) = p₇*z(t) + p₆*x(t)*y(t) |
| 73 | +
|
| 74 | +Parameters: |
| 75 | + p₁ : -10.0 |
| 76 | + p₂ : 10.0 |
| 77 | + p₃ : 28.0 |
| 78 | + p₄ : -1.0 |
| 79 | + p₅ : -1.0 |
| 80 | + p₆ : 1.0 |
| 81 | + p₇ : -2.7 |
72 | 82 | ``` |
0 commit comments