MATLAB: Solution of ordinary differential equations when there is a f(t)

ordinary differential equationssolution

I do hope anyone can give me some idea to solve these two problems shown in two boxs
I can calculte the the solution of x(t) in the following equation
dx(t)/dt = x(t)+(x(t))^3
I can use
dsolve('Dx=1*x+1*x^3')
and I got the answer is
ans =
0
(-exp(2*C8 + 2*t)/(exp(2*C8 + 2*t) - 1))^(1/2)
1i
-1i
I don't know what's C8 and should I just take the (-exp(2*C8 + 2*t)/(exp(2*C8 + 2*t) – 1))^(1/2) as the correct solution?
More important, I don't know how to calculte the solution of x(t) when there is a f(t)
dx(t)/dt = x(t)+(x(t))^3 + f(t)
, where
f(t) = sin(100*t)

Best Answer

I don't know what's C8 and should I just take the (-exp(2*C8 + 2*t)/(exp(2*C8 + 2*t) - 1))^(1/2) as the correct solution?
Yes? No?
C8 represents a constant needed to represent a boundary condition.
syms x(t) x0
dx = diff(x)
dx(t) = 
eqn = dx == x(t)+(x(t))^3
eqn(t) = 
X = simplify(dsolve(eqn, x(0)==x0)) %boundary condition on x(0)
X = 
subs(X,t,0) %crosscheck
ans = 
Oh dear, that loses the sign. What happens if x0 was negative?
Xneg = dsolve(eqn, x(0)==-2)
Warning: Unable to find symbolic solution.
Xneg = [ empty sym ]
Xpos = simplify(dsolve(eqn, x(0)==2))
Xpos = 
fplot(Xpos, [0 1])
The larger the boundary condition, the smaller the distance until the singularity. For small enough boundary conditions, the distance to the singularity is approximately -log(sqrt(x0)) -- for boundary conditions of the form 1/N for large enough N, that would be very close to log(sqrt(N))