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

4 visualizaciones (últimos 30 días)
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.

Respuestas (1)

Divya Yerraguntla
Divya Yerraguntla el 10 de Ag. de 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!

Categorías

Más información sobre Creating Custom Components and Libraries en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by