从工作区在Simulink / MATLAB函数中设置信号的尺寸

问题描述 投票:0回答:1

假设我有一个Simulink块,其中包含类似以下内容:

function y  = myFnc(x, par)

y = zeros(1, par(1)) + x;

我将par声明为模型资源管理器中的参数,并从工作空间中读取其值。现在,Simulink推断yvariable-size signal,并具有与之相关的所有讨厌的限制。

是否有任何方法可以对工作空间中的信号尺寸进行参数设置,而又使信号尺寸保持固定不变?

在C / C ++中,我只声明一个常量。

matlab global-variables global simulink dimensions
1个回答
0
投票

有一些限制的方法是创建一个具有const这样的属性的类:

    classdef DIMS
        properties (Constant)
            NR_SIGNALS          = 10
            LEN_SIG             = 32000 
            BLOCKS              = 2 * DIMS.NR_SIGNALS
        end
    end 

...并在适当的地方使用常量属性(例如DIMS.LEN_SIG)作为参数。

参数化将在模型编译时固定,甚至在生成的代码中进行硬编码(如果适用)。>>

© www.soinside.com 2019 - 2024. All rights reserved.