[英]Solving a nonlinear ODE 2. Order in Matlab numerically
我具有帶有三角函數的二階非線性ODE,因此無法根據二階導數來公式化它。 例如:
ay'' + b arctan(y'') + cy' + dy=0
y'(0)=0, y''(0)=0
沒有像arctan(y'')這樣的術語,我可以像這樣寫我的ode函數
function output=myodefunc(u,t){
y(1)=u(2);
y(2)=(-c*u(2)-d*u(1))/m;
output=y';
}
不幸的是,二階非線性項(=> b * arctan(y''))使我無法根據y''來寫ode。
有什么方法可以在Matlab中數值求解這樣的三角極點嗎?
可以使用ode函數中的非線性求解器(fsolve)來評估y'':
function output=myodefunc(u,t){
y(1)=u(2);
x0=0;
x=fsolve('a*x + b*atan(x) + c*u(2) + d*u(1)',x0);
y(2)=x;
output=y';
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.