【问题标题】:Solving an Algebraic Loop in Simulink using an Initial Value使用初始值在 Simulink 中求解代数环
【发布时间】:2022-10-19 22:48:27
【问题描述】:

我正在为一个模拟滞后效应的变压器建立一个电路模型。它使用右侧的 Matlab 功能块来执行此操作,并且在单独测试时成功运行。然而,磁化电感 Lm 的值取决于需要 Im 值的计算。但是Simulink没有Lm的值就无法确定Im的值,从而形成了代数环。

但是,我将电感的初始值 Lm_initial 加载到工作区中。有了这个,我应该能够解出第一个 Im 值,它可以用来确定下一个 Lm,依此类推。但是,在可变电感器的属性中指定 Lm_initial 不起作用; Simulink 尝试使用不存在的 'phi' 和 'Im' 值来评估 Lm,而不是尝试使用初始电感值来求解初始 Im。

我已经尝试了涉及注释/取消注释块和实现进一步的子系统的解决方案,这些子系统根据时间步长以及单元延迟激活/停用,但是这些会遇到有关跟踪时间的问题,以计算导数或输出非常不正确/嘈杂的波形。

这种情况有相对简单的解决方案吗?这个问题看起来好像解决起来相对简单,但我似乎找不到解决方法。

Transformer Equivalent Model

【问题讨论】:

    标签: matlab simulink transformer-model


    【解决方案1】:

    单元延迟在循环中的确切位置可能是这里的关键:尝试将单元延迟放置在您的 MATLAB 功能块 fcn[lm] GoTo 块和 lm 输入之间,这应该可以工作。并将initial condition parameter 设置为Lm_initial

    【讨论】:

      猜你喜欢
      • 2019-04-24
      • 2019-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      相关资源
      最近更新 更多