why readtable create field "D" in the struct "D1"

1 view (last 30 days)
function D1=TEST()
D=readtable('test.txt','delimiter',',');
save canc.tset D
D1=load('canc.tset',"-mat")
end
i access it using
D1.D...
it's possibile to avoid "D" field?
  1 Comment
Stephen23
Stephen23 on 16 Jun 2023
Edited: Stephen23 on 16 Jun 2023
"why readtable create field "D" in the struct "D1""
It doesn't. READTABLE has nothing to do with the scalar structure returned by LOAD.

Sign in to comment.

Accepted Answer

Stephen23
Stephen23 on 16 Jun 2023
Edited: Stephen23 on 16 Jun 2023
If there is only one variable in the MAT file (regardless of its extension) and you do not know/care what its name is:
C = struct2cell(load(..));
assert(isscalar(C),'Only one array can be LOADed')
T = C{1}
If the variable name is known in advance, e.g. "D"
S = load(..)
T = S.D
  12 Comments
Stephen23
Stephen23 on 17 Jun 2023
save('prova.txt','T')
SAVE is an exception: it requires the name/s of the variable/s that you want to save, not the variables themselves. That is explained and shown in the SAVE documentation. You should look at the documentation of every function that you use.
Luca Re
Luca Re on 17 Jun 2023
thank you.. I appreciate the effort you took in answering me

Sign in to comment.

More Answers (0)

Categories

Find more on Cell Arrays 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!