Showing me wrong Matrix Size.
3 views (last 30 days)
Amit Chakraborty on 23 Sep 2021
fds = fileDatastore(" " );
- I have created a Data store with a matlab data. The original size of the data was : 2031616x64.
- In the second line of the code I just convert the file from the cell type
- Created the ones matrix
- when i am trying to multiply , the reultant varibale "OO" is having the wrong size: 64x161. But if I have done it in a normal way (without creating Datastore) it's size would have been : 2031616x1 which is basically correct and I need.
My question is that , what mistake I am making here? I am newly working with the "Datastore" stuffs in MATLAB.
Thanks in Advance.
Walter Roberson on 23 Sep 2021
The Files field of a FileDataStore is a cell array of character vectors that holds file names. When you cell2mat() that, you get a character vector or character array. Character vectors and character arrays are treated as numeric when you do numeric operations -- for example,
'A' + 1
looks up the Unicode code position for the letter 'A' (which is 65), and adds 1 to that code (getting 66 -- which happens to be the code position for the letter 'B')
Thus, you are doing mathematics on the characters of file names, not on the contents of the files.