New to matlab. Why i get this answer?

1 view (last 30 days)
>> syms y(t) yef(t);
ymax=120*0.40680;
yef(t)= 0.95*(1/(1+(y(t)/ymax)*y(t)+(1-(1/(1+(y(t)/ymax))*ymax))));
yo=0.40680*140;
k10=2.37;
R=0.00831447;
T=395;
HA=0.08;
n1=1.51;
E1=83.3;
K1=k10*(10^10)*(HA^n1)*exp(-E1/R*T);
ode=diff(y(t),t)==-K1*yef(t);
cond=y(0)==yo;
ySol(t)=dsolve(ode,cond)
ySol(t) =7119/125
  3 Comments
Georgios Stefanis
Georgios Stefanis on 8 Nov 2021
Sorry new to all this. Am i trying to solve that differential equation.I was expecting getting a function of t as a result and not a number.
Rik
Rik on 8 Nov 2021
I haven't checked the math, so I don't know if you should have expected something as a function of t. If you have reason to expect that, you should check the implementation step.

Sign in to comment.

Accepted Answer

Rik
Rik on 8 Nov 2021
syms y(t) yef(t);
ymax=120*0.40680;
yef(t)= 0.95*(1/(1+(y(t)/ymax)*y(t)+(1-(1/(1+(y(t)/ymax))*ymax))));
yo=0.40680*140;
k10=2.37;
R=0.00831447;
T=395;
HA=0.08;
n1=1.51;
E1=83.3;
K1=k10*(10^10)*(HA^n1)*exp(-E1/R*T);
ode=diff(y(t),t)==-K1*yef(t);
cond=y(0)==yo;
ySol(t)=dsolve(ode,cond)
ySol(t) = 
This is what you get, because it is the solution. If you want it in a decimal form you can easily extract the numeric value:
double(ySol(t))
ans = 56.9520

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!