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일

2 개 추천

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일

0 개 추천

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!

카테고리

도움말 센터File Exchange에서 Structures에 대해 자세히 알아보기

제품

릴리스

R2018b

질문:

2019년 3월 27일

답변:

2019년 3월 28일

Community Treasure Hunt

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

Start Hunting!

Translated by