How to solve differential equation of 3 order analytically

1 次查看(过去 30 天)
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'?

回答(1 个)

Star Strider
Star Strider 2016-7-9
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.

类别

Help CenterFile Exchange 中查找有关 Quadratic Programming and Cone Programming 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by