accessing data from a struct

319 views (last 30 days)
cgo
cgo on 21 Jul 2018
Answered: Anas Alakhras on 28 Feb 2023
I have R, which is a 1x1 struct, which contains a matrix named X. I want to access X, how do I this? I want to load X into the workgroup.
R(1) doesn't seem to do it.
  2 Comments
madhan ravi
madhan ravi on 21 Jul 2018
Could you upload the code?
Stephen23
Stephen23 on 21 Jul 2018
How to access data in structures is explained in the MATLAB documentation:

Sign in to comment.

Accepted Answer

Stephan
Stephan on 21 Jul 2018
Edited: Stephan on 21 Jul 2018
Hi,
A = R.X
assigns the Matrix saved in the field X of the struct R to A.
% define empty struct
R = struct()
% add field X containing a matrix
R.X = [1 2 3; 4 5 6]
% assign the matrix from field X to new variable A
A = R.X
% get one element from field x and assign to a
a = R.X(2,3)
Best regards
Stephan
  2 Comments
Samuel Suakye
Samuel Suakye on 13 Dec 2022
How then do you open a .mat file which is a struct?
Stephen23
Stephen23 on 13 Dec 2022
Edited: Stephen23 on 13 Dec 2022
"How then do you open a .mat file which is a struct?"
A MAT-file is not a structure, a MAT-file is a container which can hold many variables of many classes. It is certainly possible that one or more of those variables are structures (but that does not mean that the file itself "is" a structure).
MAT-files are never/rarely opened, they are simply LOADed:
S = load(nameofthematfile)

Sign in to comment.

More Answers (1)

Anas Alakhras
Anas Alakhras on 28 Feb 2023
R.X

Tags

Community Treasure Hunt

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

Start Hunting!