2012-09-09 31 views
1

如果在matlab工作区有一个array (5000x1 double)。我把'from workspace'块在Simulink窗口另一个块的输入,但在程序运行时发生此错误:matlab“from workspace”块有错误

Invalid matrix-format variable specified as workspace input in 'new_net_pattern_recog/From Workspace'. The matrix must have two dimensions and at least two columns. Complex signals of any data type and non-double real signals must be in structure format. The first column must contain time values and the remaining columns the data values. Matrix values cannot be Inf or NaN. 

我能做些什么?

回答

3

我相信你会得到这个错误,因为来自工作区块期望你的数据是时间序列的形式。根据此块的documentation

在块的Data参数中,输入一个指定工作区数据的MATLAB表达式。表达式的计算结果必须执行下列操作之一:

  • 甲MATLAB时间序列对象
  • MATLAB时间序列的结构对象包含的仿真时间的阵列
  • 的阵列或结构与对应的信号值

听起来您的5000x1元素数组不会随时间而改变,而且这些值在整个模拟过程中保持不变。如果这是真的,那么你应该只使用常量块。要使用工作区中的变量作为该块的输出,只需将常量块的“常量值”参数设置为变量的名称即可。有关常量块的更多信息,请参阅此doc块。