use of ode45 for projectile trajectory including drag
3 次查看(过去 30 天)
显示 更早的评论
equation of motion
dvx/dt = -k*v*vx
dvy/dt = -k*v*vy - g
where k = drag coefficient
v = sqrt((vx)^2 + (vy)^2)
after changing it into space variable it becomes
dvx/dx = -k*v,
dvy/dx = (-k*v*vy - g)/vx,
dt/dx = 1/vx,
dy/dx = vy/vx,
form these equation i have to find for fixed range :- time taken ,vx,vy,y-displacement at particular x-displacement using odesolver if i use ode45 it gives error because of only two variable in right side of each equation (vx and vy). how wil i solve this equation using ode45 or any other ode solver
please reply soon
thanks
0 个评论
采纳的回答
Grzegorz Knor
2011-9-5
To solve this system, create a function ode_func containing the equations:
function dy = ode_func(x,y)
k = 1;
g = 9.8;
v = sqrt(y(1)^2+y(2)^2);
dy = zeros(4,1);
dy(1) = -k*v;
dy(2) = (-k*v*y(2)-g)/y(1);
dy(3) = 1/y(1);
dy(4) = y(2)/y(1);
And solve with ode45:
[X,Y] = ode45(@ode_func,...
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!