Accessing data in matfile.

3 次查看(过去 30 天)
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 个评论
Rik
Rik 2021-7-6
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 2021-7-6
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

请先登录,再进行评论。

采纳的回答

Rishik Ramena
Rishik Ramena 2021-7-14
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.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by