# How to integrate this function using ode23?

1 view (last 30 days)
Anshuman S on 14 Mar 2020
Commented: Ameer Hamza on 14 Mar 2020
The given function is as follows: I've written the following code:
clc
clear all
tspan = [0 10];
y0 = 0;
%[t,y] = ode23(@(t,y) 2*t, tspan, y0);
Minc = 67;
Mp = 12;
dfe = 7200;
din = 4040;
Dp = 5e-5;
Cl = 0.045;
Cleq = 0.005;
z = (Minc/(100*Mp))*(dfe/din)*Dp*(Cl - Cleq) ;
disp( z)
[t,y] = ode23(@(t,y) (1/y)*(Minc/(100*Mp))*(dfe/din)*Dp*(Cl - Cleq), tspan, y0);
plot(t,y,'-o');

Anshuman S on 14 Mar 2020
It was supposed to be a non-zero intial condition! As rightly stated by you, it's the property of the differential equation itself!
Anshuman S on 14 Mar 2020
But why tspan = [0.5 10], why not start from 0
tspan = [0 10]
Ameer Hamza on 14 Mar 2020
I was trying different values and this is the one I pasted here. This following one works too
tspan = [1e-308 10];

Ameer Hamza on 14 Mar 2020
Although I couldn't figure out the actual cause of this issue, the error is caused by setting the initial condition to zero. It can be resolved by giving a tiny value to the initial condition. For example,
y0 = 1e-308; % minimum possible exponent for double

R2019b

### Community Treasure Hunt

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

Start Hunting!