Hello,
I have been trying to reorganize my variables & parameters into struct arrays in order to group all corresponding to a same physical quantity (like temperature.air pressure.atmosphere etc.)
Some of these parameters are used in an ODE system (see below) and seeing the error I realize that I might have to abandon my idea of using struct arrays… Please let me know what I missed 🙂
Also, I would be happy if someone can send me some good literature on the proper use of struct arrays for modeling.
Thanks!!
>> NewCode
Error: File: myODE.m Line: 1 Column: 29
Unexpected MATLAB operator.
Error in
NewCode>@(L,y)myODE(L,y,AREA.CONV,AREA.COND,HEATTRANSF.AIRSHEET,MASSTRANSF.AIRSHEET,MASSFIBER,TEMP.CYL,MOLARWEIGHT.WATER,SPEED.PAPERMACHINE,GASCONSTANT,HEATTRANSF.CYLSHEET_REF,SPECIFICHEAT.FIBER,SPECIFICHEAT.WATER,PARTIALPRESSURE.VAPOR_MAXI_HOOD,TEMP.AIR_AFTER_STEAMHEATING)
Error in odearguments (line 90)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);
function dy = myODE(L,y,AREA.CONV,AREA.COND,HEATTRANSF.AIRSHEET,MASSTRANSF.AIRSHEET,MASSFIBER,TEMP.CYL,MOLARWEIGHT.WATER,SPEED.PAPERMACHINE,GASCONSTANT,HEATTRANSF.CYLSHEET_REF,SPECIFICHEAT.FIBER,SPECIFICHEAT.WATER,PARTIALPRESSURE.VAPOR_MAXI_HOOD,TEMP.AIR_AFTER_STEAMHEATING)u=y(1); Tp=y(2);dudL = myODE1(L,u,Tp,AREA.CONV,AREA.COND,HEATTRANSF.AIRSHEET,MASSTRANSF.AIRSHEET,MASSFIBER,TEMP.CYL,MOLARWEIGHT.WATER,SPEED.PAPERMACHINE,GASCONSTANT,HEATTRANSF.CYLSHEET_REF,SPECIFICHEAT.FIBER,SPECIFICHEAT.WATER,PARTIALPRESSURE.VAPOR_MAXI_HOOD,TEMP.AIR_AFTER_STEAMHEATING);dTpdL = myODE2(L,u,Tp,AREA.CONV,AREA.COND,HEATTRANSF.AIRSHEET,MASSTRANSF.AIRSHEET,MASSFIBER,TEMP.CYL,MOLARWEIGHT.WATER,SPEED.PAPERMACHINE,GASCONSTANT,HEATTRANSF.CYLSHEET_REF,SPECIFICHEAT.FIBER,SPECIFICHEAT.WATER,PARTIALPRESSURE.VAPOR_MAXI_HOOD,TEMP.AIR_AFTER_STEAMHEATING);dy = [dudL;dTpdL];end
Best Answer