Pseudo coding a function help
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have a code that i need to pseudo code and i am not fully understanding the script can someone please explain what the script is doing exactly.
Grav=6.67408*10^-11;
Mass=5.9722*10^24;
sat_mass=1000;
dt=10;
r(1,:)=[8*10^6,0,0];
r0=[8*10^6,0,0];
v(1,:)=[0, sqrt(Grav*Mass/norm(r0,2)),0];
for i=2:10000
a(i,:)=(-Grav*Mass)/norm(r(i-1,:),2)^2*r(i-1,:)/norm(r(i-1,:),2);
v(i,:)=v(i-1,:)+a(i-1,:)*dt;
r(i,:)=r(i-1,:)+v(i-1,:)*dt;
end
plot(r(:,1),r(:,2))
3 comentarios
Siyu Guo
el 11 de Mayo de 2018
The code should be quite clear. r stands for the 3D coordinates of the sat, v its velocity vector, and a its acceleration vector. A straightforward Euler method to solve the Newtonian equation (an ODE).
Respuestas (1)
Jan
el 11 de Mayo de 2018
Editada: Jan
el 11 de Mayo de 2018
- Some parameters are defined
- The start point is set to r0 and the initial velocity to v(1,:)
- A loop runs over 10000 time steps
- Inside the loop, the current acceleration a is calculated by the law of gravity
- The acceleration multiplied by a time step changes the current velocity
- The current velocity multiplied by a time step changes the current position
- Next iteration of the loop
- Plot the trajectory
"not fully understanding the script" is not useful as a question in the forum. Should we explain "sat_mass=1000;" also?! Prefer to ask a specific question.
By the way, isn't it suspicious that sat_mass is defined, but not used anywhere?
Maybe I've solved your homework now. This would be a pity. But you are working with Matlab for at least 1.5 years now, so you should be familiar with the basics.
0 comentarios
Ver también
Categorías
Más información sobre CubeSat and Satellites en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!