# Third Order ODE with unit step input

5 views (last 30 days)

Show older comments

I have been trying to solve this differential equation for two days now. I do not know what to do with the right hand side of the ODE. The only way I have seen to solve it does not include the derivative of the input as well. Would really appreaciate some help atleast to know how to start it up.

y^''' (t)+6y^'' (t)+11y^'(t) +6y(t)=u^'' (t)+2u^' (t)+3u(t)

y’’(0) = 1 ; y’(0) = -1; y(0) = 1

where u=Unit step Us(t).

Ive tried to do it in simulink but the answers there havent been coming out right either.

### Accepted Answer

Walter Roberson
on 27 Nov 2021

sympref('HeavisideAtOrigin', 0);

syms y(t)

assume(t > 0)

Dy = diff(y,t);

D2y = diff(y,t,2);

u(t) = heaviside(t); %// I saw online that this is unit step

Du = diff(u,t);

ode = diff(y,t,3) + 6*diff(y,t,2)+11*diff(y,t)+6*y == diff(u,t,2)+2*diff(u,t)+3*u;

cond1 = Dy(0) == -1;

cond2 = D2y(0) == 1;

cond3 = y(0) == 1;

conds = [cond1 cond2 cond3];

sol = dsolve(ode,conds)

The assumption that t > 0 is not strictly valid, but if you use t >= 0 you get sign(t) and heaviside() in the equations, and you would have to break it into two cases. You could continue on with

assume(t == 0)

sol0 = dsolve(ode,conds)

... which happens to give the same result.

##### 2 Comments

Walter Roberson
on 28 Nov 2021

### More Answers (0)

### See Also

### Community Treasure Hunt

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

Start Hunting!