我正在为一个变压器建立一个电路模型,它模拟了迟滞效应。它使用右边的Matlab函数块进行测试,并在隔离测试时成功地工作。然而,磁化电感Lm的值取决于要求Im值的计算。但是Simulink没有Lm值就不能确定Im的值,从而形成一个代数循环。
然而,我有电感的初始值,Lm_initial加载到工作空间。有了这个,我应该能够为第一个Im值求解,这个值可以用来确定下一个Lm,等等。然而,在可变电感的属性中指定Lm_initial不起作用;Simulink试图用不存在的'phi‘和' Im’值来计算Lm,而不是使用初始电感的值来求解初始Im。
我尝试过一些解决方案,包括注释/取消注释块,以及实现更多的子系统,这些子系统根据时间步骤以及单元延迟激活/停用,但这些问题涉及计算导数的跟踪时间或输出非常不正确/噪音很大的波形。
这种情况有相对简单的解决办法吗?这个问题似乎很容易解决,但我似乎找不到解决这个问题的办法。
发布于 2022-10-19 14:48:27
在循环中单元延迟的确切位置可能是这里的关键:尝试将单元延迟放在[lm]
GoTo块和lm
输入的lm
函数块fcn
之间,这应该可以工作。并将初始条件参数设置为Lm_initial
。
https://stackoverflow.com/questions/74069064
复制相似问题