Skip to content

Commit c0fe364

Browse files
authored
Update transform.jl
1 parent 6e8cade commit c0fe364

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed

src/transform/transform.jl

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,82 @@ new_prob_p = remake(new_prob, p=pnew)
6565
# 3. solve ODE
6666
# 4. extract values
6767
68+
or
69+
@parameters t σ ρ β
70+
@variables x(t) y(t) z(t)
71+
D = Differential(t)
72+
73+
eqs = [D(D(x)) ~ σ*(y-x),
74+
D(y) ~ x*(ρ-z)-y,
75+
D(z) ~ x*y - β*z]
76+
77+
@named sys = ODESystem(eqs)
78+
79+
@show sys.iv
80+
@show sys.states
81+
@show sys.eqs
82+
@show sys.ps
83+
84+
# input
85+
function rhs(dx,x,t,p)
86+
dx[1] = p[1]*x[1]^2 + p[1]
87+
end
88+
89+
#
90+
function rhs(dx,x,t,p)
91+
v1 = x[1]^2
92+
v2 = p[1]*v1
93+
v3 = v2 + p[1]
94+
dx[1] = p[1]*x[1]^2 + p[1]
95+
end
96+
97+
function rhs(dx,x,t,p)
98+
99+
p1_lo = p[1] # p[1] lo unpack parameter
100+
p1_hi = p[2] # p[1] hi
101+
x1_lo = x[1] # unpack state
102+
x1_hi = x[2]
103+
104+
sqr_x1_I = Interval(x1_lo,x1_hi)^2 # rule for v[1] = x[1]^2
105+
v1_lo = sqr_x1_I.lo
106+
v1_hi = sqr_x1_I.hi
107+
108+
mul_x1p1_I = Interval(v1_lo,v1_hi)*Interval(p1_lo,p1_hi) # rule for v[2] = p[1]*v[1]
109+
v2_lo = mul_x1p1_I.lo
110+
v2_hi = mul_x1p1_I.hi
111+
112+
plus_v2p1_I = Interval(v2_lo,v2_hi) - Interval(p1_lo,p1_hi) # rule for v[3] = p[1]*v[1]
113+
v3_lo = plus_v2p1_I.lo
114+
v3_hi = plus_v2p1_I.hi
115+
116+
dx[1] = v3_lo # dx[1] lo
117+
dx[2] = v3_hi # dx[1] hi
118+
119+
nothing
120+
end
121+
122+
123+
function rhs(dx,x,t,p)
124+
125+
p1_lo = p[1] # p[1] lo unpack parameter
126+
p1_hi = p[2] # p[1] hi
127+
x1_lo = x[1] # unpack state
128+
x1_hi = x[2]
129+
130+
v1_lo = sqr_lo(x1_lo, x1_hi)
131+
v1_hi = sqr_hi(x1_lo, x1_hi)
132+
133+
v2_lo = mul_lo(v1_lo, v1_hi, p1_lo, p1_hi)
134+
v2_hi = mul_hi(v1_lo, v1_hi, p1_lo, p1_hi)
135+
136+
v3_lo = # SO ON...
137+
v3_hi =
138+
139+
dx[1] = v3_lo # dx[1] lo
140+
dx[2] = v3_hi # dx[1] hi
141+
142+
nothing
143+
end
68144
69145
```
70146

0 commit comments

Comments
 (0)