Accessing data in matfile.

2 views (last 30 days)
Amit Chakraborty
Amit Chakraborty on 6 Jul 2021
Answered: Rishik Ramena on 14 Jul 2021
I have a matrix called miu. And the size of miu is ::: 262144x1 double
To save the memory purpose I have used:
miu =matfile('miu_64cube_detect256multiply256.mat');
miu.Properties.miu(ind) %% To access the data I have used the line
Error Message: Unrecognized method, property, or field 'miu' for class 'matlab.io.matfile.Properties'.
Can anyone give me some clarification and probable solution regarding this problem?
Thank You....
  4 Comments
Rik
Rik on 6 Jul 2021
miu =matfile('miu_64cube_detect256multiply256.mat');
Nvoxels= 64*64*64;
for j = 1:Nvoxels
len = cell2mat(length_ijk(j));
ind = cell2mat(index_ijk(j));
atten(j) = exp(-sum(miu(ind).*len));
end
Unrecognized function or variable 'length_ijk'.
dpb
dpb on 6 Jul 2021
Which doesn't do anything at all with the matfile object to address it and create the problem.
But, you don't address the Properties of the object, but the object itself with the variable name and index -- and, you don't have a LHS to store the result.
miu =matfile('miu_64cube_detect256multiply256.mat');
value=miu.miu(ind); % return on element of variable miu inside the matfile object

Sign in to comment.

Accepted Answer

Rishik Ramena
Rishik Ramena on 14 Jul 2021
Yeah, you are intending to address the object itself and not the Properties of the object.
value = miu.miu(ind);
This should be what you wanted to do. For more information on MAT files and their usage, check out this example here.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!