What are the possible ways to solve the following set of equations?

1 view (last 30 days)
My equations are as follows:
Algebraic Equations
b1=((b1+(1-exp(-b3))))
b2=b1-y(1)
b3=b1+b2+y(2)
Ordinary Differential Equations
dy(1)=-b1*y(1);
dy(2)=b3*y(1)+b2*y(2);
dy(3)=sqrt(b1)+y(1)+y(3);
Initial Values
b1=1,
b2=0,
b3=3
y1=1,
y2=3,
y3=0
I do not wish to substitute the values of any equation into some other equation. That is, I do not want to simplify it. How do I solve this? I have tried various techniques but I just cannot pass initial values for those algebraic equations. I want the code to calculate new b1 b2 b3 for every time step corresponding to the y value.
Thanks!
  2 Comments
Urvi
Urvi on 12 Oct 2012
1) Differential algebraic approach (But I am not getting the desired results. Also, my professor doesn't want me to use that right now).
2) Declaring b1 b2 b3 global and then using new values at every time step ( Problem with this the code gives me values of y1 y2 y3 at the time I want since I am specifying the interval and b1 b2 b3 are obtained at some other time interval. Also, at time t=0, the value of b1 b2 b3 are getting altered)

Sign in to comment.

Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 11 Oct 2012
Edited: Azzi Abdelmalek on 11 Oct 2012
for the first equation use fsolve http://www.mathworks.com/help/optim/ug/fsolve.html
for the second equation use ode45 http://www.mathworks.com/help/matlab/ref/ode45.html
  1 Comment
Urvi
Urvi on 12 Oct 2012
fsolve will not give me the values at all the time steps. I want it at all the time steps. These values should be obtained for corresponding y values.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!