How to remove an element from a structure array using matfile handler
Show older comments
Hi,
I am using following piece of code to remove an element from a structure array, but its not working please help
MatfileHandler.StructureArray(index,:)=[];
since the above wasn't working thus I used following statements.
AllElements = MatfileHandler.StructureArray; %loaded all elements in AllElements
AllElements(index,:)=[]; %Removed the required element
MatfileHandler.StructureArray = AllElements; %Resaving the AllElements to Actual Matfile
the above code works fine but it takes too much time especially when the size of structure is big. Please help me how to reduce time or remove element by using matfile handler, thanks.
3 Comments
Image Analyst
on 27 Jul 2018
Edited: Image Analyst
on 27 Jul 2018
What is a matfile handler? I can't seem to find it in the help. Is it a class that you wrote?
And how much time is it taking now. And how gigantic is your structure array? Like how many elements and gigabytes?
Abdurrehman
on 27 Jul 2018
Abdurrehman
on 28 Jul 2018
Answers (1)
Guillaume
on 27 Jul 2018
0 votes
As documented in the limitations of matfile, it does not let you index into the fields of a structure. Therefore the only way is to do what you have done: load the whole structure, edit the structure and write it back.
1 Comment
Abdurrehman
on 28 Jul 2018
Categories
Find more on Workspace Variables and MAT Files 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!