Solving the Ordinary Differential Equation

I am not sure how to solve these systems of differential equation. However, the final graph representation of the result is two exponential curves for and in respect to time.
Also, with =, the variable ks and BP are all constant.

 采纳的回答

EDITED
use dsolve()
or
Alternate method using ode45:
Screen Shot 2018-11-15 at 11.17.17 AM.png
tspan=[0 1];
y0=[0;0];
[t,x]=ode45(@myod,tspan,y0)
plot(t,x)
lgd=legend('Cp(t)','Cr(t)')
lgd.FontSize=20
function dxdt=myod(t,x)
tau=2;
ks=3;
BP=6;
k1=5;
k2=7;
x(1)=exp(-t)/tau; %x(1)->Cp
dxdt=zeros(2,1);
dxdt(1)=k1*x(1)-(k2/(1+BP))*x(2); %x(2)->Cr
dxdt(2)=k1*x(1)-k2*x(2);
end

9 个评论

So should I set these two equations as two functions and then set some values to the variables? And ended with dsolve()?
yes declare them by using syms Ct(t) Cr(t)
and then solve them
and use fplot(Ct(t)) to plot the curve
What should I do with the constant variables?
Substitute some numbers there
I got something like this, but when I have the t defined, it is not running and I also need to know how to display the results as a plot
syms C_T(t) C_r(t);
t=[1:10000];
equations=[diff(C_T,t)==(3*exp(-t)-(3/(1+2))*C_T), diff(C_r,t)==(3*exp(-t)-3*C_r)];
sol=dsolve(equations);
But the first differential equation is dcT/dt not Cp(t), is that the same?
madhan ravi's reply : no they are not the same
dcT/dt refers to dxdt(1)
Thank you so much, I have one last question.
What doest this line means?
dxdt=zeros(2,1);
Anytime :), It is called preallocation(please google it) imagine as a container to store something. Make sure to accept for the answer if it was helpful.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!

Translated by