Problem initialising with ODE45

Hello all,
I've got a problem with ODE45. Essentially when I call my derivative function "TANKONEDIM", ODE45 doesn't seem to initialise the parameter T (which is a 20 element column vector) and so the simulation falls over. I've checked that all the matrices etc are coming out as the correct size...
Any ideas?
Best
Pete
function [t T] = TankSolver(T0,T,TankGeometry,TankVolume,Outflow,Tamb,Qe);
tspan = [0 3600]; [t T] = ode45(@TANKONEDIM,tspan,T0); end
function dTdt = TANKONEDIM(T,T0,NodeCount,TankVolume,TankGeometry)
global Heat_Matrix
global HeatSources
dTdt = Heat_Matrix*T+HeatSources
end

댓글 수: 3

Walter Roberson
Walter Roberson 2012년 9월 17일
Why is your TANKONEDIM function expecting NodeCount, TankVolume, TankGeometry to be passed to it? You do not use those parameters and you do not pass them in in the ode45 call.
Peter
Peter 2012년 9월 17일
The NodeCount, TankVolume and TankGeometry arguments are redundant but I was thinking they might be required once I've got the solver working... atm they're just place holders...
Peter
Peter 2012년 9월 17일
Ah, just realised that I didn't have the time variable in there which prevented it from working!
Apologies
Pete

답변 (0개)

이 질문은 마감되었습니다.

질문:

2012년 9월 17일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by