'Array indices must be positive integers or logical values' error
2 ビュー (過去 30 日間)
古いコメントを表示
I keep getting the 'Array indices must be positive integers or logical values' error specifically n=f(i).
f = (2000:100:3000);
l = length(f);
tt = zeros(1,1);
y = 4;
for i = i:l
n = f(i);
A = randn(n,n);
b = rand(n,1);
tic()
for j = 1:y %repeat nrep times for more precise timing
[L,U] = lu(A);
y = forwardsub(L,b);
x = backsub(U,y);
end
tt(i) = toc()/y %average recorded time
end
回答 (1 件)
Raunak Gupta
2019 年 10 月 1 日
Hi,
The value of i is not initialized and you may start with some numerical value greater than zero at first. Otherwise n = f(i) return error because i is assigned as zero by default and in MATLAB, array indexing starts from 1. Even using logical value ‘true’ and ‘false’, the ‘false’ value will return an empty array instead of throwing an error. So you may try to initialize the looping variable.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Resizing and Reshaping Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!