Loading data into function workspace

22 次查看(过去 30 天)
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.

采纳的回答

Kojiro Saito
Kojiro Saito 2019-3-27
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.

更多回答(1 个)

Anurag Kamal
Anurag Kamal 2019-3-28
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!

类别

Help CenterFile Exchange 中查找有关 Data Type Conversion 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by