Subscript indices error when plotting
Ältere Kommentare anzeigen
I am having an issue with a for loop plot. The error is returned on the line that says "plot(x,y)" on the code which follows. It states "Subscript indices must either be real positive integers or logicals." Also, if there is any way to label the plots in a legend as they are created that would be great. Thanks in advance for any help.
for N=30:10:50
g=9.81;tau = 0.0076;
tmin = 0; tmax = 10;
v0=50*sin(deg2rad(N));y0=0;
t=linspace(tmin,tmax, 1000);
dt=t(2)-t(1);
a= zeros(1,numel(t));
v= zeros(1,numel(t));
y= zeros(1,numel(t));
v(1)=v0;
y(1)=y0;
for i=2:1000
a(i-1)= -g+(tau*abs(v(i-1))*v(i-1));
v(i)= v(i-1)+a(i-1)*dt;
y(i)= y(i-1)+v(i-1)*dt+(1/2)*a(i-1)*dt^2;
end
vx0=50*cos(deg2rad(N));x0=0;
ax= zeros(1,numel(t));
vx= zeros(1,numel(t));
x= zeros(1,numel(t));
vx(1)=vx0;
x(1)=x0;
for i=2:1000
ax(i-1)= -tau*(vx(i-1))^2;
vx(i)= vx(i-1)+ax(i-1)*dt;
x(i)= x(i-1)+vx(i-1)*dt+(1/2)*ax(i-1)*dt^2;
end
plot(x,y);
ylim([0,65]);
end
Akzeptierte Antwort
Weitere Antworten (0)
Kategorien
Mehr zu Logical finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!