フィルターのクリア

Array indices must be positive integers or logical values.

1 回表示 (過去 30 日間)
matlabgod
matlabgod 2018 年 9 月 27 日
コメント済み: Star Strider 2018 年 9 月 27 日
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 Center および File Exchange2-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