【问题标题】:Setting integrator initial condition basing on the signal in Simulink根据 Simulink 中的信号设置积分器初始条件
【发布时间】:2016-06-05 10:58:02
【问题描述】:

我有一个简单的 Simulink 模型,我想根据一些信号改变积分器的初始条件。该信号可以取值 1 或 0,积分器的初始条件应分别等于 1.16 或 0.65。

我尝试在模型工作区中设置一个参数x_init(然后在积分器块中使用它),但我无法通过函数访问它。然后我尝试使用set_param(...) 在 simulink 模型中运行 MATLAB 函数,但出现错误:

Function 'set_param' is not supported for code generation. Consider adding coder.extrinsic('set_param') at the top of the function to bypass code generation.

这就是模型资源管理器中模型的结构。我想更改x 初始条件。

【问题讨论】:

    标签: matlab parameters simulink


    【解决方案1】:

    使用工作区变量是错误的做法。

    将积分器的Initial Condition Source 属性更改为external。这将为该块提供额外的端口。积分器复位时输入该端口的信号值作为初始条件。

    【讨论】:

    • 谢谢,它成功了。 PID等其他块也一样吗?
    • 任何具有可重置状态的块,以及使用外部输入指定初始条件的能力,都将像这样工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多