How do i resolve this error message?
Show older comments
I keep getting this error can anyone help?
Array indices must be positive integers or logical values.
Error in Assignment_3_Question_2 (line 24)
m(i)=5000*dt - m(t-dt);
Here is the code:
clear
dm=5000;
dt=1;
t=0:dt:1000;
Ve=4500;
G=6.67408e-11;
M=5.9722e24;
R=6371;
A=75;
Cd=0.4;
p=zeros(1,length(t));
m=zeros(1,length(t));
V=zeros(1,length(t));
h=zeros(1,length(t));
p(1)=1.225;
m(1)=894000;
m_final=54000;
V(1)=0;
h(1)=0;
for i=1:length(t)
if m(i)~=m_final
m(i)=5000*dt - m(t-dt);
else
m(i)=-m(t-dt);
end
p(i)=1.225*e(-3*h(i)/50000);
h(i)=h(t-dt)+((dt(V(t)+V(t-dt))))/2;
V(i)=Ve-((Ve*m(t))/m(t-dt))-((dt*G*M)/(R+h(t-dt)).^2)-((dt*p(h(t-dt)))*A*Cd*(V(t-dt)).^2)/2*(m(t-dt))+V(t-dt);
end
plot(t,V,'or')
xlabel('Time(s)')
ylabel('Velocity(m/s)')
1 Comment
KSSV
on 21 Apr 2020
Problem with indexing in time.
Answers (1)
Star Strider
on 21 Apr 2020
I cannot determine what you want to do in this assignment:
m(i)=5000*dt - m(t-dt);
or this one:
m(i)=-m(t-dt);
since those appears to be throwing the error.
Perhaps:
m(i)=5000*dt - m(i)*(t(i)-dt);
or something similar in the other one as well will do what you want.
.
Categories
Find more on Data Type Identification 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!