Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download
3774 views
ubuntu2004
1
def generator():
2
t = var("t")
3
y, yp = mi_vars("y", "y'")
4
5
# pick a for y'-ay
6
a = randrange(1,6)*choice([-1,1])
7
8
# particular solution
9
b=a
10
while (b==a):
11
b = randrange(1,6)
12
c = choice([-3,-2,2,3])
13
part_sol = choice([
14
c*exp(b*t),
15
c*exp(a*t)*t,
16
c*exp(a*t)*sin(b*t),
17
c*exp(a*t)*cos(b*t)
18
])
19
d = randrange(2,5)
20
ode = shuffled_equation(yp,-a*y,-part_sol.diff()+a*part_sol)*d
21
k = randrange(1,6)*choice([-1,1])
22
ivp_sol = (k*exp(a*t)+part_sol)
23
iv = ivp_sol(t=0)
24
25
return {
26
"ode": ode,
27
"iv": iv,
28
"ivp_sol": ivp_sol,
29
}
30
31