Asked by inbal kashany
on 1 Jun 2011

Hi Im trying to solve this differential equation:

dydt=((g0.*L-y)./tau)-((Pin./Esat)*(exp(y)-1));

by ODE45: [T Y]=ode45(@(t,y) fun(t,Y,It,I),[0 3],0);

but it doesnt work... I guess becouse it based on example3 from ODE45 help which looks like this: dydt = -f.*y + g,(y'(t) + f(t)y(t) = g(t))

but here I have the "exp(y)" which I dont know how to hadle with.

g0=R*a*n0*((I/I0)-1); I is a vector dependent on t. L,tau,Pin,Esat,R,a,n0,I0 are constant.

any suggestion may help. thanks

Answer by Laura Proctor
on 1 Jun 2011

The following code worked for me:

dydt=@(t,y)(((g0*L-y)/tau)-((Pin/Esat)*(exp(y)-1)));

[T Y]=ode45(dydt,[0 3],0);

But, I did have to make some guesses at the constant values, such as g0, L, tau, Pin, and Esat.

inbal kashany
on 2 Jun 2011

g0 is not constant-

g0=R*a*n0*((I/I0)-1);

I=[zeros(10,1);ones(10,1);zeros(10,1);]; %step signal%%

It=linspace(0,30,30); %generate t for I

I=interp1(It,I,t); % Interpolate the data set (It,I) at time t

now I got the error: odearguments at 115 @(T,H)(((G0*L-H)/TAU)-((PIN/ESAT)*(EXP(H)-1))) returns a vector of length 30, but the length of initial conditions vector is 1. The vector returned by @(T,H)(((G0*L-H)/TAU)-((PIN/ESAT)*(EXP(H)-1))) and the initial conditions vector must have the same number of elements.

*h replace y

I'll be happy get an answer.

Sign in to comment.

Answer by inbal kashany
on 2 Jun 2011

Thanks to both of you for your replay.

g0 is not constant-

g0=R*a*n0*((I/I0)-1);

I=[zeros(10,1);ones(10,1);zeros(10,1);]; %step signal%%

It=linspace(0,30,30); %generate t for I

I=interp1(It,I,t); % Interpolate the data set (It,I) at time t

now I got the error: odearguments at 115 @(T,H)(((G0*L-H)/TAU)-((PIN/ESAT)*(EXP(H)-1))) returns a vector of length 30, but the length of initial conditions vector is 1. The vector returned by @(T,H)(((G0*L-H)/TAU)-((PIN/ESAT)*(EXP(H)-1))) and the initial conditions vector must have the same number of elements.

*h replace y

I'll be happy get an answer.

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 1 Comment

## Arnaud Miege (view profile)

## Direct link to this comment

https://www.mathworks.com/matlabcentral/answers/8582-ode-how-to-solve-this-equation#comment_18569

Sign in to comment.