How to solve differential equation of 3 order analytically

1 回表示 (過去 30 日間)
Ole
Ole 2016 年 7 月 9 日
回答済み: Star Strider 2016 年 7 月 9 日
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 Center および File ExchangeNumerical Integration and Differential Equations についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by