Why is dsolve giving me the wrong answer?

5 views (last 30 days)
Hi, I'm trying to solve a 4th order differential equation using dsolve but I got a wrong answer. This is my script:
syms y(x)
Dy(x)=diff(y);
D4y(x)=diff(y,4);
y4=dsolve('D4y+8*D2y+16*y==0')
When I executed it I got the following,
y4=C1*cos(2*t) - C3*sin(2*t) + C2*t*cos(2*t) - C4*t*sin(2*t)
The answer should be y4=C1*cos(2*t) + C3*sin(2*t) + C2*t*cos(2*t) + C4*t*sin(2*t). What went wrong in my code? Thank you!
  1 Comment
Star Strider
Star Strider on 31 Oct 2021
syms y(x)
syms C1 C2 C3 C4 positive
Dy(x)=diff(y);
D2y = diff(y,2);
D3y = diff(y,3);
D4y(x) = diff(y,4);
ic = [y(0)==C1, Dy(0)==C2, D2y(0)==C3, D3y(0)==C4];
y4 = dsolve(D4y+8*D2y+16*y==0, ic)
y4 = 
.

Sign in to comment.

Answers (1)

Kumar Pallav
Kumar Pallav on 31 Oct 2021
Hi,
As per my understanding, C1, C2,C3,C4 are arbitrary constants(can be positive or negative) and hence, the answer you got and the expected answer is not different.

Community Treasure Hunt

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

Start Hunting!