help debugging my script?

1 view (last 30 days)
Christopher Maraj
Christopher Maraj on 13 Mar 2018
Edited: per isakson on 18 Mar 2018
This script is meant to solve a set of differential equations and return an output consisting of the quantities [T,X,Y,Z,U,V,W] in the form of a vector. When i run the code nothing appears, only the name of my m-file in the command window. Could someone help me find where in my code I've made a mistake?
  3 Comments
Christopher Maraj
Christopher Maraj on 13 Mar 2018
Edited: per isakson on 18 Mar 2018
the function was called using
[T,X,Y,Z,U,V,W] = satellite(Xo,Yo,Zo,Uo,Vo,Wo,tstart,tend,maxthrust)
.
G = 6.67408*10^-11;
Me = 5.97*10^24;
Re = 6.37*10^6;
m = 1500;
dt =1;
t = 1;
total = 0;
n = 1;
while n <= n-2
n = n +1;
[Xthrust, Ythrust, Zthrust] = engine(tstart, tend, maxthrust, t, u, v, w)
u(n+1) = u(n)*(Xthrust/m) -G*Me*(x(n)/((x(n).^2+y(n).^2+z(n).^2).^3/2))*dt;
v(n+1) = v(n)*(Ythrust/m) -G*Me*(y(n)/((x(n).^2+y(n).^2+z(n).^2).^3/2))*dt;
w(n+1) = w(n)*(Zthrust/m) -G*Me*(z(n)/((x(n).^2+y(n).^2+z(n).^2).^3/2))*dt;
x(n+1) = x(n) + u(n+1)*dt;
y(n+1) = y(n) + v(n+1)*dt;
z(n+1) = z(n) + w(n+1)*dt;
t(n+1) = t(n) + 1;
x=x(n+1)-x(n);
y=y(n+1)-y(n);
z=z(n+1)-z(n);
h = sqrt.(x^2 + y^2 + z^2) - Re;
Vmag = sqrt(u^2 + v^2 + w^2);
Acc = Vmag/dt;
n = n+1;
total = total + sqrt(x.^2 + y.^2 + z.^2);
if total > 4.2*10^8
break
end
end
end
% end function satellite
KSSV
KSSV on 13 Mar 2018
You need to check your while loop....the code is not executing while loop.

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 13 Mar 2018
Edited: Stephen23 on 13 Mar 2018
You wrote a while condition that will never be true. Have a look at this line:
while n <= n-2
For what values of n can this be true? Can you think of any real value of n where it is less than or equal to itself minus two? Try some real number examples, if you are not sure what is going on, e.g.:
n = 5
5 <= 5-2
5 <= 3
Is this ever going to be true?

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!