Subscript indices error when plotting

7 ビュー (過去 30 日間)
Jay
Jay 2017 年 10 月 27 日
コメント済み: Jay 2017 年 10 月 31 日
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

採用された回答

Walter Roberson
Walter Roberson 2017 年 10 月 28 日
In some code not shown here, you accidentally assigned a value to a variable named plot
  5 件のコメント
Walter Roberson
Walter Roberson 2017 年 10 月 30 日
No, anything that is in your base workspace remains in your base workspace, and any variables you assign in the live script get assigned in the base workspace. Live scripts do not have their own workspace.
Jay
Jay 2017 年 10 月 31 日
Understood. Thank you. You have been very helpful.

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

その他の回答 (0 件)

カテゴリ

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

Community Treasure Hunt

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

Start Hunting!

Translated by