How to set initial condition y(1)=1 in solving ODE using Simulink?
17 次查看(过去 30 天)
显示 更早的评论
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.
2 个评论
Aquatris
2018-12-26
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?
回答(1 个)
Akshay Khadse
2018-12-28
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
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!