Struct vs Table - which is better

151 views (last 30 days)
Rizwan Khan
Rizwan Khan on 29 Sep 2020
Answered: Image Analyst on 29 Sep 2020
Hello,
Can someone tell me where i can read the pro's and con's of Structs Vs Tables
So i'm reading in data from an API, i can store it in a struct, and if i want i can also store it in a table.
Which of these two are easier to work with later on?
So i will need to do mathematical calculations, plot graphs, do use loops functions, all sorts of stuff with the data.
So i'm wondering what is going be easier to use?
What is going to be more memory efficient and speed efficient?
Your thoughts will be appreciated

Answers (3)

Image Analyst
Image Analyst on 29 Sep 2020
A matrix is best and fastest if you just have numbers everywhere. If you have tabular data where different columns have different data types, like col 1 is scalar numbers, col 2 is strings, and col 3 is vectors, etc. then you should use a table. Tables can have different data types in every column - double matrices cannot. But all elements of a particular column mut be the same, so can't have a double in row 1 and a string in row 2.
If you need maximum flexibility, at the cost of speed and overhead, then you can use a cell array, which has no requirements that data types match up within rows or columns. Basically with a cell array, anything can be anywhere. See the FAQ: FAQ: What is a cell array?
Structures are pretty similar to tables but are probably less efficient than a table. They are more flexible than a table though, for example one structure might have only some of the fields that another structure in the same structure array has - but it's pretty rare that you'd have that situation.
Bottom line: I recommend you become better acquainted with tables. (I assume you know everything about regular numerical matrices of course.)

KSSV
KSSV on 29 Sep 2020
  2 Comments
Rizwan Khan
Rizwan Khan on 29 Sep 2020
Thanks KSSV,
What about Matrix? reading your links, it seems Matric is fasters, while table is slowest.
KSSV
KSSV on 29 Sep 2020
You said structure and table. If you say matrix..off course matrix is faster than table.

Sign in to comment.


Rizwan Khan
Rizwan Khan on 29 Sep 2020
Hello,
Yes I did not know about matrix until your post above
What are your thoughts on Matrix, are they easy to read data into and out of?
Are they easy to use in for loops
Are they easy to perform calculations on the total set ?

Products


Release

R2020a

Community Treasure Hunt

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

Start Hunting!