Getting error about index in for loop
古いコメントを表示
%for loop for plotting given data
for k = 0:size(dataN)
val = dataN(:,k);
avg = mean(val);
end
I am getting this error:
Index in position 2 is invalid. Array indices must be positive integers or logical values.
Error in Lab5_Problem2 (line 25)
val = dataN(:,k);
I cannot figure out why, but I am trying to extract the first row of the array (dataN). Thank you for any help!
回答 (1 件)
per isakson
2020 年 5 月 5 日
編集済み: per isakson
2020 年 5 月 5 日
0 投票
Three problems:
- replace 0:size(dataN) by 1:size(dataN,2). Matlab's indexing is one-based.
- avg = mean(val); overwrites avg in every iteration; only the last value will persist
- "trying to extract the first row of the array (dataN)" dataN(:,k) refers to the k:th column
2 件のコメント
Carly Hudson
2020 年 5 月 5 日
per isakson
2020 年 5 月 5 日
This should do it
wid = size(dataN,2);
avg = nan( 1, wid );
for k = 1 : wid
val = dataN(:,k);
avg(k) = mean(val);
end
カテゴリ
ヘルプ センター および File Exchange で Matrix Indexing についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!