# How do I get ode45 to output the dependent variable value at each time step? I have other material properties in my differential equation that change with temperature, so I must update them with each change in temperature.

3 Ansichten (letzte 30 Tage)
David Campbell am 10 Jan. 2013
the equation looks like this:
dT/dt = T/cB(T,B) * d/dT( M(T)) * d/dt( B(t))
cB(T) = the specific heat M(T) = the magnetization of the material
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Jonathan Epperl am 10 Jan. 2013
The answer to your topic is that the odefun, i.e. the function you pass to ode45 as in ode45(odefun,tspan,x0) needs include the line
y
as in
function dydt = odefun(t,y)
%[...] code
y
but I don't think that's what you really want to do/know. Could you detail your question? Also, what is B(t), is that another state you're not telling us about, or is that a known function/input?
Is there a closed form of M(T), cB(T,B) that you are using, or is it a look-up table?
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
David Campbell am 11 Jan. 2013
Thank you for getting back to me so quickly Jonathan.
I've been looking into it, and yes I think you're right, I'm going to have to include a section in the odefun for this.
B(t) = -0.5cos((2*pi/5)t) + 0.5 (ie a wave that will go through one full cycle over the time span I will set for this ode45)
I'm not sure what closed form means exactly but M(T,B) and cB(T,B) are both matrices that give the value of M and cB at different T and B. They are calculated by another program I have written, but the matrices I have calculated will definitely cover the temperature and magnetic field ranges that will occur within this differential equation.
Cheers, Oliver

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by