Why is dsolve giving me the wrong answer?
5 次查看(过去 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
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)
.
回答(1 个)
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.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Equation Solving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!