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!