Why is dsolve giving me the wrong answer?

8 次查看(过去 30 天)
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 个评论
Star Strider
Star Strider 2021-10-31
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 = 
.

请先登录,再进行评论。

回答(1 个)

Kumar Pallav
Kumar Pallav 2021-10-31
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.

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by