Loading data into function workspace

조회 수: 16 (최근 30일)
Anurag Kamal
Anurag Kamal 2019년 3월 27일
답변: Anurag Kamal 2019년 3월 28일
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