Solving a nonlinear equation numerically
2 次查看(过去 30 天)
显示 更早的评论
I want to solve the nonlinear equation d^2(x)/dt^2 +(k)sinx = 0, numerically.
alternatively, this can be written as
0 个评论
回答(1 个)
John D'Errico
2020-10-29
It looks as if you don't need to solve it numerically.
syms x(t)
xpp = diff(x,t,2)
syms k
dsolve(xpp + k*sin(x) == 0)
dsolve(xpp + k*sin(x) == 0)
ans =
0
2*jacobiAM((2^(1/2)*(C1 - k)^(1/2)*(C2 - t)*1i)/2, -(2*k)/(C1 - k))
-2*jacobiAM((2^(1/2)*(C1 - k)^(1/2)*(C2 - t)*1i)/2, -(2*k)/(C1 - k))
Of course, it would help if you had some initial or boundary conditions. Then you might get a better answer.
But if you really, really need to solve it numerically, then you need to start with a tool like ODE45, and you need to pose a set of initial conditions, etc. As well, you need to define the value of k. No numerical solution can be found unless you specify k as a NUMBER.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!