Info
此问题已关闭。 请重新打开它进行编辑或回答。
Subscript indices must either be real positive integers or logicals
2 次查看(过去 30 天)
显示 更早的评论
getting this error when trying to build a set of data from a data store with the following code. I would like for every iteration of the for loop (one read from the data store), to add data to the table.
if true
clear
clc
ds = fileDatastore(fullfile('***example****);
tf = hasdata(ds);
i = 0
while (tf == 1);
accData(i,:) = read(ds); %read from datastore
tf = hasdata(ds);
i = i+1
end
thanks in advance
0 个评论
回答(3 个)
Image Analyst
2017-10-23
See the FAQ for a full explanation: http://matlab.wikia.com/wiki/FAQ#How_do_I_fix_the_error_.22Subscript_indices_must_either_be_real_positive_integers_or_logicals..22.3F
0 个评论
Walter Roberson
2017-10-23
You initialize i = 0, and then assign to accData(i,:) which tries to use that 0 as the index. You should do the i = i + 1 before using i as the index.
0 个评论
Jeremy Hughes
2017-10-25
Very common error. =) MATLAB arrays start at index = 1. You should see the same error from x(0,:) = 1.
In this case, I don't think you need the loop at all. Use the readall function:
accData = readall(ds)
0 个评论
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!