Array indices must be positive integers or logical values.

1 次查看(过去 30 天)
I'm trying to create a loop that plots the function for each t value on the same graph, I am getting an "Array indices must be positive integers or logical values." error.
t = [1 24 48 72];
x = linspace(0,1,4);
for ii = length(t)
u=1.656e-5;
c(x)=(0.5).*erfc(x./(2.*sqrt(u.*t)));
plot (x, c)
end

回答(1 个)

Star Strider
Star Strider 2018-9-27
This will run:
t = [1 24 48 72];
x = linspace(0,1,4);
for ii = length(t)
u=1.656e-5;
c(ii)=(0.5).*erfc(x(ii)./(2.*sqrt(u.*t(ii))));
plot (x, c)
end
although you may want to experiment with it.
Note that I subscripted ‘x’ and ‘t’, since I assume that is what you intend.
  2 个评论
matlabgod
matlabgod 2018-9-27
Hi thanks for the quick response, but now I'm getting "Error using plot Vectors must be the same length." error.
Star Strider
Star Strider 2018-9-27
My pleasure.
You must be using different size vectors for ‘t’ and ‘x’.
My code works with the code you posted.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 2-D and 3-D Plots 的更多信息

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by