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 Comments

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.
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...
Ah, just realised that I didn't have the time variable in there which prevented it from working!
Apologies
Pete

Answers (0)

This question is closed.

Asked:

on 17 Sep 2012

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!