Why is dsolve giving me the wrong answer?

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 Kommentar

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 = 
.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Kumar Pallav
Kumar Pallav am 31 Okt. 2021

0 Stimmen

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.

Gefragt:

am 5 Okt. 2021

Kommentiert:

am 31 Okt. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by