0

当我运行一个包含如下所示 scifunc_block_m 块的 Xcos 模型时, xcos_model 我收到一条与数据维度不一致有关的错误消息:

“数据维度不一致:”
“变量大小=[1,1]”
“块输出大小=[100,1]。”

但是当我双击块以查看我可以更改什么以使尺寸正确时,我在控制台中收到一条消息说

未定义变量:scifunc_block_m

让我烦恼的是scifunc_block_m不是任何变量的名称,而是块本身的名称,可以在官方文档中看到。 当然,我仔细检查了我的函数phase_shifter中没有任何地方,也没有任何其他地方我有任何这样命名的变量。

我尝试使用 Scilab 6.1.1 和 6.1.0 相信这可能是一个显然不是的错误。

4

1 回答 1

0

在您phase_shifter.sce生成输入变量的文件中,该signalIn变量不符合From Workspace块要求,其文档说输入变量

  • 必须是具有timevalues字段的结构
  • .time必须是列向量,在您的情况下
  • .values也必须是一列

所以,

t = (0:1/fs:Npp/fs - 1/fs);       // time vector 
signalIn = A*%e^(%i*w*t);

应该替换为

t = (0:1/fs:Npp/fs - 1/fs)';       // time column vector
signalIn = struct("time",t, "values",A*%e^(%i*w*t));

这修复了尺寸不一致的消息。

此外,我无法重现您关于Undefined variable: scifunc_block_m. 参数界面按预期打开。如果您尝试从 xcos 中运行某些 xcos 部分,而无需事先加载 xcos 相关库,您可能会收到此类消息。

然后,我们在块上收到一条不清楚的"Output should be of complex type."消息。From workspace顺便说一句,您尝试绘制一些复杂的值。在进入 MUX 之前,请查看 MATMAGPHI 块:https ://help.scilab.org/docs/6.1.1/en_US/MATMAGPHI.html

于 2022-01-15T12:00:47.373 回答