Info

この質問は閉じられています。 編集または回答するには再度開いてください。

Subscript indices must either be real positive integers or logicals

1 回表示 (過去 30 日間)
MATLABmet
MATLABmet 2017 年 10 月 23 日
閉鎖済み: MATLAB Answer Bot 2021 年 8 月 20 日
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

回答 (3 件)

Image Analyst
Image Analyst 2017 年 10 月 23 日

Walter Roberson
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.

Jeremy Hughes
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)

この質問は閉じられています。

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by