MATLAB Answers

How to set initial values for the start of a feedback loop in Simulink

100 views (last 30 days)

Hi, there! I am trying to incorporate a thermal model of electric motor into the full vehicle model. The thermal model takes losses in crucial components of EM as inputs and outputs temperatures in these crucial components. The outputs(temperatures) are then fed to a lookup table downstream containing losses at different temperatures and these losses are then fed back to the thermal model upstream. I am quite new to simulink and wonder how I can set some initial temperatures to the look-up table for the 1st simulation time step to kick it off?

Here is a schematic of the model I spoke of:

Incidentally, I would appreciate it if some simulink expert can propose some essential simulink tutorial for me so that I'll be able to get the hang of this simulation tool in the shortest time possible. I am fairly acquainted with Matlab as a programming language and data analysis tool, but the sheer volume of simulink documentation is daunting. Thanks in advance for your help!


Aquatris on 26 Aug 2018
If you are using integral block in the thermal model, it does have a initial condition part where you can set it to any value you want and it will make sure model will output the initial value at t = 0.
Bohan Liu
Bohan Liu on 26 Aug 2018
Hi! The thermal model is an analogous electric circuit(in the literature, the temperature difference is considered as potential difference/voltage, whilst the power loss/heat dissipation is analogous to current. Hence the the thermal model serves to output some voltage values when all necessary currents are given as inputs). I used simscape to implement the physical modelling of this electric/thermal circuit and will put it in a subsystem as was depicted in the sketch I provided above. All I need is the method to give, say two temperature values as initial input that act as trigger for the feedback loop, then the feedback loop can run on its own as some driving cycle is simulated.

Sign in to comment.

Accepted Answer

Dimitris Kalogiros
Dimitris Kalogiros on 26 Aug 2018
A common and popular way to set initial conditions inside a closed loop is to put delay elements at the feedback path. Anyway, feedback loops are prone to "non-causality". So, placing delay elements, one can avoid such a phenomena (MathWorks names it as "algebraic loop")

More Answers (0)


Community Treasure Hunt

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

Start Hunting!