MATLAB Answers

Loading data into function workspace

24 views (last 30 days)
Anurag Kamal
Anurag Kamal on 27 Mar 2019
Answered: Anurag Kamal on 28 Mar 2019
I want to load a workspace variable into a function that is called deep inside the whole program, but somehow even after load a saved mat file, it can't read the struct!
drivecycle =
struct with fields:
cell: [1×1 struct]
Reference to non-existent field 'time'.
Error in getInputCurrentDensity (line 6)
I_density=interp1(drivecycle.time,drivecycle.I,t)
However, the variable does have the existing field, time.

  0 Comments

Sign in to comment.

Accepted Answer

Kojiro Saito
Kojiro Saito on 27 Mar 2019
If a variable is assinged to output of load, the variable is struct (Ref: document). So, you need to extract an array from struct using drivecycle = drivecycle.drivecycle.
I think the following will work.
drivecycle = load('dctest.mat');
drivecycle = drivecycle.drivecycle;
I_density = interp1(drivecycle.time,drivecycle.I,t);
Or, just
load('dctest.mat')
I_density = interp1(drivecycle.time,drivecycle.I,t);
would also work.

  0 Comments

Sign in to comment.

More Answers (1)

Anurag Kamal
Anurag Kamal on 28 Mar 2019
That was fast! I was just missing the internal heirarcy of variables, and using this worked:
I_density=interp1(drivecycle.cell.time,drivecycle.cell.I,t)
Thanks!

  0 Comments

Sign in to comment.

Sign in to answer this question.

Products


Release

R2018b