Simulink:如何通过掩码为子系统中的常量分配双精度?

时间:2014-01-27 23:06:49

标签: matlab simulink

这是一个稍微冗长的问题,但应该很容易理解。

结束目标:通过将“双”向量分配给常量,将其输入到C ++ S函数中。

起始点:我的蒙面子系统的Dialog Callback中的一个函数返回我需要的双向量。

中间的步骤:所以我有一个双向量作为输入,我需要一个双向量作为输出,但我无法直接传递向量,因为set_param需要我将值作为字符串传递。

问题:我尝试的是:set_param(gcb,'refNameArray',num2str(refName));

其中,

  • gcb(正确)返回我正在进行的块 一切。
  • refNameArray是需要分配的参数 双向量
  • refName是'双'形式的向量,我 在掩码的对话框回调中可用。

我使用num2str因为我无法直接指定向量,我必须将其作为字符串输入。 但是,即使使用num2str,我也会收到错误Invalid Setting in Block <blockName> for parameter 'Value'

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

在对话框中为param设置的值在语法上应与MATLAB中的RHS表达式类似。例如,对于矢量值,您需要将其设置为“[1 3 4]”。注意方括号。 num2str不添加方括号。您可以在调用set_param之前在末尾手动添加它,也可以使用mat2str创建带括号的字符串。