While using the following table format to extract features in diagonosticfeaturedesigner toolbox error"index in position 2 exceeds array bounds" error is generated
Show older comments
The error "index in position 2 exceeds array bounds" is generated.
The diagonostic featuredesigner also does not extract all the signals in the column.
7 Comments
whos -file matlab
load matlab
head(T)
You've managed to load a series of timetables inside a table; you can't reference those except indirectly by first referencing one of the timetables and then addressing whatever is in it...excepting that since the timetables are also in a cell, then you have to dereference them with the curlies "{}" instead of just using parentheses--
tt=T.tt{1}; % the first timetable
head(tt)
This is undoubtedly not what you intended; you need to unnest the data; we can't see what you did to manage to get it so wrapped up, but going back to creating/reading the data is where need to start...
Rachita Sarangi
on 10 Sep 2023
Wowsers! What a mess of a way to store data to build an app around!!!!
Anyways, your file does NOT follow the same file format exactly, it (the example) has two variables of timetables plus the fault condition variable for each; you have only one timetable variable and no fault.
Undoubtedly it's trying to read an expected column; I didn't try to decipher the app but for training one presumes it is probably missing the fault variable as the second required column.
<See link> to discussion of building dataset ensembles for the app; it should give enough guidance that you can figure out the minimum data requirements (although I don't see in a very quick glance that it actually gives a specific requirement).
Rachita Sarangi
on 10 Sep 2023
Rachita Sarangi
on 10 Sep 2023
Rachita Sarangi
on 10 Sep 2023
dpb
on 10 Sep 2023
Well, there are only two other perturbations to try--
- two timetable columns w/ no fault variable, and
- two timetable columns w/ a fault variable.
Then you will know the limits of what the app thinks it must have...I didn't even know it existed ere now so I don't have a klew; all I can tell you is to try it out and see and read all the doc carefully. It's possible the designers didn't think a one-variable model was something anybody would try to use it for....I really don't know what it does, perhaps the one-variable model would reduce to some form of MLE estimation that could be done w/ linear estimation tools???
Answers (1)
Rachel Johnson
on 27 Nov 2023
Hi Rachita,
The issue is not your data format (table of timetables), which should work with the Diagnostic Feature Designer app. The issue is that the app expects the timetables in the same dataset to have the same Variable Names. In your dataset, each timetable has a different Variable Name -- VarName2, VarName3, VarName4, etc.
Try renaming all of the variables to the same name using the code below.
for i = 1:size(T,1)
T.tt{i,1}.Properties.VariableNames(1) = "VarName";
end
Categories
Find more on Design Condition Indicators Interactively in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!