Simscape - changing resistance values according to computed in matlab loops "for" arrays

10 次查看(过去 30 天)
Hi all, i have builded in Simulink a magnetic equivalent circuit for some device. Some resistances here are constant but some are variable. All resistances I have computed in Matlab, the variable values with using of "for" loops. Now I need to link the computed values with according resistances in the Simulink model. I want to do it automatically, it means I want to compute hundreds of possible resistance values depending on some geometrical parameters and then to solve the equivalent circuit for each step of "for" loops.
Due to the nonlinearity of steel permeance it will be good also to include an itterative computation of resistances and currents. But first I need at least to solve this question for a computed resistances without itteration.
If somebody know how to do it - it will help me a lot and I will be very gratefull to you.

回答(1 个)

Cristian Garcia Milan
Inside your for loop you can use
set_param('YOUR MODEL/R_t13_t21','R',your_values(i))
and in order to run your model you can use either
or you can use
set_param('YOUR MODEL','SimulationCommand','start')
If you take the first option, you can use
simOut = sim('YOUR MODEL')
and the output is collected as a variable inside the for loop.
Hope it helps.
  1 个评论
Bogdan Miroschnitschenko
Thanks a lot, it works, but I have at the end this table, so these are results for the last resistance value.
How could I save results for the whole loop?
The code is now
for m =1:length(moving)
set_param('Schaltung/R_t13_t21','R','R_t13_t21(m)')
simOut = sim('Schaltung')
end

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Magnetic Elements 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by