Simulink Matlab功能块'尺寸不匹配'错误

时间:2015-04-09 12:44:02

标签: matlab size simulink matlab-coder

我在Simulink模型中使用Matlab功能块。 Input是1x32二进制流,Output y是0到15之间的整数。我在这个函数中定义了2个变量,名为chip = zeros(17,32)和reconst_op = zeros(1,32)。我的问题是,当我在if条件下比较这两个变量时,如下所示:

函数y = De_Spreading_Mod(输入)

  1. 如果全部(reconst_op == chip(1,:))..做某事..
  2. 或2.如果全部(reconst_op(1,:)== chip(1,:))

    上述两种情况都会导致Matlab抛出错误如下:

    对于情况1,尺寸不匹配(尺寸[:?x 32]〜=尺寸[1 x 32])。不匹配的变化和固定大小表示可能的运行时错误。如果此诊断不正确,请使用索引显式修改不同的大小。

    对于案例2,MATLAB函数接口错误:由于越界错误,模拟停止。运行时错误:尝试访问运行时大小为0的数据reconst_chip_op的1个元素。

    但是,如果我在一个单独的m文件中运行相同的代码片段,它会按预期工作,但仅在Simulink嵌入式matlab功能块中,这是一个问题。

    任何帮助将不胜感激

0 个答案:

没有答案