How to solve differential equation of 3 order analytically

1 Ansicht (letzte 30 Tage)
Ole
Ole am 9 Jul. 2016
Beantwortet: Star Strider am 9 Jul. 2016
I would like to solve a system of differential equaions
x''[t] == -a0*(a1 - b*z'[t])*cos[w*t], x[to] == 0, x'[to] == 0
z''[t] == -a0*b*x'[t]*cos[w*t], z[to] == 0, z'[to] == 0
It reduces to a third order equation
z'''[t] == a*(1-c*z'[t])*cos^2[w*t]-tan(w*t)*w*z''[t], z[to] == 0, z'[to] == 0
syms u(x) a c w d
Du = diff(u, x);
D2u = diff(u, x, 2);
u(x) = dsolve(diff(u, x, 3) == a*(1-c*Du)*(cos(x))^2-tan(x)*d*D2u, u(to) == 0, Du(to) == 0)
Does not give solution. How to solve it in steps, maybe first for z'?

Antworten (1)

Star Strider
Star Strider am 9 Jul. 2016
I would keep it as the original system (and change ‘to’ to 0):
syms x(t) z(t) a0 a1 b w
Dz = diff(z);
D2z = diff(z,2);
Dx = diff(x);
D2x = diff(x,2);
Eq1 = D2x == -a0 * (a1 - b*Dz) * cos(w*t);
Eq2 = D2z == -a0 * b * Dx * cos(w*t);
Soln = dsolve(Eq1, Eq2, x(0) == 0, Dx(0) == 0, z(0) == 0, Dz(0) == 0);
X = Soln.x;
Z = Soln.z;
X = simplify(X, 'steps', 20)
Z = simplify(Z, 'steps', 20)
This gives you two ‘solutions’ involving integrals, that it transformed with dummy variable ‘y’:
X =
-(a1*int(sin((a0*b*sin(w*y))/w), y, 0, t))/b
Z =
-(a1*int(exp(-(a0*b*sin(w*y)*1i)/w)*(exp((a0*b*sin(w*y)*1i)/w) - 1)^2, y, 0, t))/(2*b)
This is likely as close as you can get to an analytic solution.

Kategorien

Mehr zu Quadratic Programming and Cone Programming finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by