MATLAB Answers


How to set initial condition y(1)=1 in solving ODE using Simulink?

Asked by Yugal Maheshwari on 23 Dec 2018
Latest activity Commented on by Yugal Maheshwari on 30 Dec 2018
Can anyone guide me how can I set initial conditions for ODE in Simulink. It is easy to set Y(0)=0 or 1 in integerator. How to set Y(1)=1 in integrator.
I wanna solve dy/dt= (2/t) y , where y(1)=1 as initial condtions in Simulink.


If y(1) = 1 is your initial condition, it means your starting "time" is 1. Why not just set the integrator initial to 1 and offsett the time value whereever it appears in your equations?

Sign in to comment.


1 Answer

Answer by Akshay Khadse on 28 Dec 2018

As Aquatris mentioned, the Start Time for simulation should be specified as 1 from the Configuration Parameters.
Then, you can specify the initial condition using any of the following methods:
1) Specify the Initial condition in the Integrator block parameters as 1. OR
2) Use Simulink.BlockDiagram.getInitialState as follows
x0 = Simulink.BlockDiagram.getInitialState(gcs);
x0{1}.Values.Data = 1;
Please refer the following documentation page to know more about the Simulink.BlockDiagram.getInitialState

  1 Comment

Sign in to comment.