error in calling a variable from another mat file

13 views (last 30 days)
after doing some coding I have run a loop and saved values in cell R
for r=1:En
R{r} =E(Ec+Ea(r,:),:);
end
I have saved a variable of cell in a matfile named
save('data_12x6','R')
where 'data_12x6' is fle name and 'R'is variable . now I want to call this variable in the below code
for r=1:numel(R)
X=(R{r}*x).*y';
XX(r)=(sum(X))*0.01;
end
I an trying this
R=load('data_12x6','R')
for r=1:numel(R)
X=(R{r}*x).*y';
XX(r)=(sum(X))*0.01;
end
but it is giving an error that
Warning: Variable 'R' not found.
R =
struct with no fields.
Cell contents reference from a
non-cell array object.
how can I do this?
  3 Comments
Walter Roberson
Walter Roberson on 29 Jan 2017
Please show the output of
whos -file data_12x6

Sign in to comment.

Accepted Answer

Jan
Jan on 29 Jan 2017
R = rand;
save('data_12x6', 'R');
matfile('data_12x6')
>> Properties:
>> Properties.Source: 'D:\MFiles\data_12x6.mat'
>> Properties.Writable: false
>> R: [1x1 double]
Q = load('data_12x6')
>> Q.R = 0.8651243
Q = load('data_12x6', 'R')
>> Q.R = 0.8651243
Q = load('data_12x6', 'Miss')
>> Warning: Variable 'Miss' not found.
>> Q =
>> struct with no fields.
This means, that your data_12x6 file does not contain the variable R. This can happen only, if it was not created by |save('data_12x6', 'R'). I guess, that the current folder has changed. Prefer to use absolute path names:
folder = tempdir; % Or where you want to store the files
save(fullfile(folder, 'data_12x6.mat'), 'R');
...
FileData = load(fullfile(folder, 'data_12x6.mat'));
R = FileData.R;

More Answers (0)

Categories

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

Translated by