Since I am using matlab ode23s solver, it contains two matlab files. One contains the differential equations and another contains plotting and to run the m-files. The code are working perfectly. Now I want to know the time step size that is using on the plot. How can i get the output of time step size. I would like to know the time step size that is using on the plot too. please help me.
=>
% 3 Nonlinear differential equations after Asymptotic expansion % with 1-c in dc/dt differential equation
function xpr= no(t,x)
%values of parameters
k_f= 6.7*10.^7;
k_d= 6.03*10.^8;
k_n=2.92*10.^9;
k_p=4.94*10.^9;
%Unknown parameters
lambda_b= 0.0087;
% scale parameters
K_F= k_f * 10.^-9;
K_D= k_d * 10.^-9;
K_N= k_n * 10.^-9;
K_P= k_p * 10.^-9;
LAMBDA_B= lambda_b*10.^-9;
%Pool Values
P_C= 3 * 10.^(11);
P_Q= 2.87 * 10.^(10);
% initial conditions
c_0=x(1);
s_0=x(2);
q_0=x(3);
%Non-linear differential equations.
% dc_0/dtau= c_0*(- K_F - K_D - K_N * s_0 - K_P*(1-q_0))
% ds_0/dtau = Lambda_B * c* P_C *(1-s_0)
% dq_0/dtau = (1-q_0)* K_P * c_0 *(P_C / P_Q)
xpr= zeros(3,1);
xpr(1)= c_0*(- K_F - K_D - K_N * s_0 - K_P*(1-q_0));
xpr(2)= LAMBDA_B * c_0* P_C *(1-s_0);
xpr(3)= (1-q_0)* K_P * c_0 *(P_C / P_Q);
xpr= [xpr(1);xpr(2);xpr(3)];
% TO RUN the 3 nonlinear differential equations after asymptotic expansion. % with 1-c in dc/dt differential equation
format bank
close all;
clear all;
clc;
%time interval
ti=0;
tf=0.2;
tspan=[ti tf];
x0=[0.25 0.02 0.98]; %initial conditions
%time interval of [0 2] with initial condition vector [0.25 0.02 0.98] at time 0.
options= odeset('RelTol',1e-4, 'AbsTol',[1e-4 1e-4 1e-4]);
[t,x]= ode23s(@no,tspan,x0,options);
tDiffs = diff(t); % to know time step size used in the plot
%Plotting the graphs:
figure
subplot(3,1,1), plot(t,x(:,1),'r'),grid on;
title('3 nonlinear differential equations (with 1-c)'),ylabel('c_0');
subplot(3,1,2), plot(t,x(:,2),'b'),grid on;
ylabel('s_0');
subplot(3,1,3), plot(t,x(:,3),'g'),grid on;
ylabel('q_0');xlabel('Time')
I have got the errors: Undefined function or variable 't'.
If I understand the question and the step size correctly:
The time step size can be specified in the command
tspan=[ti:stepsize:tf].So the
tin[t, x] = ode23s(...)will betspan. And if you do not specify anystepsizein yourtspanthenode23swill make yourtwith the same size as your solutionx.Type
help ode23sin MATLAB's command window and read the help provided. It can helps you.