Numerically Integrating the differential equation below?

3 ビュー (過去 30 日間)
Bilal Arshed
Bilal Arshed 2019 年 11 月 18 日
編集済み: James Tursa 2019 年 11 月 18 日
i know some boundary conditions such as, t0= 0 and v0=7000m/s (<===newly updated v0) and vf=0.... but do not know what, tf, i equal to.
  4 件のコメント
James Tursa
James Tursa 2019 年 11 月 18 日
編集済み: James Tursa 2019 年 11 月 18 日
I'm not really sure what is being asked for here. The expressions for dr/dt and dtheta/dt are just going to be based on the integrals of your double_dot equations. What are you being asked for beyond that? The post doesn't ask for numerical solutions. Is that something you added?
Bilal Arshed
Bilal Arshed 2019 年 11 月 18 日
編集済み: Bilal Arshed 2019 年 11 月 18 日
so i need to numerically integrate both double dot equations in order to get them in the from which equals dr/dt and dtheta/dt so then i can integrate them again and have [r,theta] which i will use to plot the path taken by the reentry vehicle.
By numerically integrating it, i will have something to plot.
Also i have said v0=0 that is wrong, v0=7000ms^-1 (an arbitary choosen value)

サインインしてコメントする。

採用された回答

James Tursa
James Tursa 2019 年 11 月 18 日
編集済み: James Tursa 2019 年 11 月 18 日
You've got two 2nd order DE's, so that means you have a 4th order system (2x2=4) and thus your state vector will contain four elements. You could define them as follows:
y = your 4x1 state vector with the following definitions
y(1) = r_r
y(2) = v_r
y(3) = r_t
y(4) = v_t
Then your derivative function outline would be:
function dy = myeqn(t, y)
% put some constants here or pass them in, e.g. mu etc.
dy = zeros(size(y));
dy(1) = y(2); % derivative of r_r is v_r
dy(2) = ___; % you fill this in from your r_r doubledot equation
dy(3) = y(4); % derivative of r_t is v_t
dy(4) = ___; % you fill this in from your r_t doubledot equation
end
For the dy(2) and dy(4) code, you will need to calculate your gamma value from the y vector. You could either hardcode the other stuff (D, L, m, etc.) or pass them in as input arguments. To start with, you will need to define initial values for all four states, not just v0. Also, I would have expected to see a factor somewhere on the r_t double dot equation based on the atmospheric density (a function of altitude), but I don't see it ... and this seems suspicious to me.
  2 件のコメント
Bilal Arshed
Bilal Arshed 2019 年 11 月 18 日
編集済み: Bilal Arshed 2019 年 11 月 18 日
thanks, it is pretty late here so i will have a look into this tommorow morning. if all goes well i will accept the answer but i might have question when i come to atmepting it.
Thank you for helping, much appreciated!
P.S what is the y vector?
Is this the vector created by combining the tangent and radial velocities?
James Tursa
James Tursa 2019 年 11 月 18 日
編集済み: James Tursa 2019 年 11 月 18 日
The y-vector is exactly what I have stated. It contains four elements as defined above. The radial position, radial velocity, tangential position, and tangential velocity.

サインインしてコメントする。

その他の回答 (1 件)

darova
darova 2019 年 11 月 18 日
  • Any guidance on it is much appreciated!
Helpfull page: ODE45
  • I do not know what I can do if I no tf.
Try tf = 5. This should work
  7 件のコメント
Bilal Arshed
Bilal Arshed 2019 年 11 月 18 日
i don't think so, that usually works just fine.
Bilal Arshed
Bilal Arshed 2019 年 11 月 18 日
編集済み: Bilal Arshed 2019 年 11 月 18 日
% { you can just use placeholder values for global variables like L and D.
function dv = myeqn(t, v)
mu_e = 3.986e14;
r=6378e3;
m=5000;
global L;
global D;
gamma=40; % not sure what to start at
v0=7000;
t0=0;
tend=5;
[t,v] = ode45(@myeqn, [t0,tend], v0)
dv = ((mu_e)./(r^2)) + ((v^2)./r) + (1./m)*(D*sin(gamma)+L*cos(gamma)); % radial accel equation

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by