Using ode to solve a specific differential equation

조회 수: 1 (최근 30일)
Allison Reynolds
Allison Reynolds 2021년 11월 8일
댓글: Star Strider 2021년 11월 8일
I need help solving this specific differential equation using ode45 in MATLAB. The differential equation is k*(dT/dt)= A*Q*(1-b(T)) - S*c*E*(T^4). We have all of the values but I need code to solve and plot different solutions to the ode.
  댓글 수: 2
William Rose
William Rose 2021년 11월 8일
@Allison Reynolds, what have you done so far? When you say you need to solve and plot different solutions, what do you mean? Different initial conditions? Different values for the constants?
Please post what you have done so far, including values for the initial conditions and the constants.
William Rose
William Rose 2021년 11월 8일
@Allison Reynolds, does Q(1-b(T)) mean Q*(1-b*T))? If not, then specify what the functions b and Q are.

댓글을 달려면 로그인하십시오.

답변 (1개)

Star Strider
Star Strider 2021년 11월 8일
Try these —
% k*(dT/dt)= A*Q(1-b(T)) - S*c*E*(T^4)
odefcn = @(t,T,a,b,c,E,k,Q,S) (a*Q*(1-b*T) - S*c*E*(T^4))/k; % If 'Q' Is A Scalar
a = rand;
b = rand;
c = rand;
E = rand;
k = rand;
Q = rand;
S = rand;
tspan = [0 20];
ic = 0.42;
[t,T] = ode45(@(t,T)odefcn(t,T,a,b,c,E,k,Q,S), tspan, ic);
figure
plot(t,T)
grid
odefcn = @(t,T,a,b,c,E,k,Q,S) (a*Q(1-b*T) - S*c*E*(T^4))/k; % If 'Q' Is A Function
a = rand;
b = rand;
c = rand;
E = rand;
k = rand;
S = rand;
Q = @(x) sin(x) .* cos(x); % Make Something Up
tspan = [0 20];
ic = 0.42;
[t,T] = ode45(@(t,T)odefcn(t,T,a,b,c,E,k,Q,S), tspan, ic);
figure
plot(t,T)
grid
Experiment to get the desired result.
.

카테고리

Help CenterFile Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by