Hello everyone, I have a case about two concentration which are ode functions. So, I guess I have to use ode 45 but in the code given below I couldn't figure out how to draw X(biomass) and S(substrate) concentration in time (in same graph). Could you help me?
clear all;clc;close all;X0=2;tspan = [0 40]; [tX,X]=ode45(@biomass, tspan, X0);S0=1000;tspan = [0 40];[tS,S]=ode45(@substrate, tspan, S0);figurehold onplot(tX,X)plot(tS,S)xlabel('time (year)')ylabel('Concentration (mg/L)')legend('Biomass','Substrate','location','southeast')function biomassgrowth=biomass(t,X)X0=2;Sin=1000;So=0;S0=So+Sin;V=10;TH=40;ko=0.2;kd=0.01;Ks=150;Y=0.5;S=-((X0/Y)*ko*TH)+S0-(Ks*ln(S/S0));biomassgrowth=((ko*S*X)/(Ks+S))-(kd*X);endfunction substratutilize=substrate(t,S)X0=2;Sin=1000;So=0;S0=So+Sin;ko=0.2;Ks=150;Y=0.5;substratutilize=-((ko*X0*S)/(Y*(Ks+S)));end
ERRORS I HAVE GOT:
Unrecognized function or variable 'S'.
Error in ikinciHW6Q2>biomass (line 32)
S=-((X0/Y)*ko*TH)+S0-(Ks*ln(S/S0));
Error in odearguments (line 90)
f0 = feval(ode,t0,y0,args{:}); % ODE15I sets args{1} to yp0.
Error in ode45 (line 115)
odearguments(FcnHandlesUsed, solver_name, ode, tspan, y0, options, varargin);
Error in ikinciHW6Q2 (line 7)
[tX,X]=ode45(@biomass, tspan, X0);
Best Answer