MATLAB Answers

Create a local constant variable that is randomly generated in Simscape Component Code?

4 views (last 30 days)
Isaac Perrin
Isaac Perrin on 7 Aug 2019
Answered: Divya Yerraguntla on 10 Aug 2019
I'm working with an array of batteries each represented by the 2RC battery model, and I want to add variability into the internals of the batteries. Is there a way for me to make a variable that is randomly assigned at the initiation of the component and then use the component for the simulation. I tried adding: "var = normrnd(1,0.05)" in the variables section of a resistor and then "R = var*tablelookup(SOC_Table,Temp_Table,R_Table,SOC,T,... " but I got an error since saying this was unsolvable as I had more variables than equations.

  0 Comments

Sign in to comment.

Answers (1)

Divya Yerraguntla
Divya Yerraguntla on 10 Aug 2019
Hi Isaac,
You could initialise a local variable('var' in your case) as a Model Callback which is executed at specified action points.
Have a look at this link to define 'var' as Model Callback. You could write "var = normrnd(1,0.05)" in the InitFcn(Initialization) Callback and then use it to specify the value 'R' of resistor.
Hope it helps!

  0 Comments

Sign in to comment.

Sign in to answer this question.