Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Simulink:Matlab嵌入式函数代码错误_Matlab_Simulink - Fatal编程技术网

Simulink:Matlab嵌入式函数代码错误

Simulink:Matlab嵌入式函数代码错误,matlab,simulink,Matlab,Simulink,我在simulink中的嵌入式matlab函数中有以下代码: function rad = fcn(lenkwinkel) if lenkwinkel < 0 rad=[0 1 0 0]; elseif lenkwinkel > 0 rad=[1 0 0 0]; else rad=[0 0 0 0]; end 函数rad=fcn(lenkwinkel) 如果lenkwinkel0 rad=[1 0 0]; 其他的 rad=[0]; 结束 在模拟中,我将“

我在simulink中的嵌入式matlab函数中有以下代码:

 function rad = fcn(lenkwinkel)
if lenkwinkel < 0
    rad=[0 1 0 0];
elseif lenkwinkel > 0
    rad=[1 0 0 0];
else
    rad=[0 0 0 0];
end
函数rad=fcn(lenkwinkel)
如果lenkwinkel<0
rad=[01 0];
elseif lenkwinkel>0
rad=[1 0 0];
其他的
rad=[0];
结束
在模拟中,我将“lenkwinkel”变量连接到MATLAB功能块,该功能块连接到一个具有4个端口的Mux块

我正在尝试使用该函数将包含4个二进制元素的向量发送到Mux块,然后Mux块应将其拆分为4个信号。不幸的是,这是行不通的。当我尝试运行此功能时,我得到:

数据“rad”(#44)的推断大小(“[1 4]”)不匹配 从Simulink传播的大小(“[4]”)


有人能帮我吗?非常感谢。

我想你的意思也是DeMux,如果不正确,请纠正我们。从外观上看,MATLAB功能块已确定
rad
的大小为
1×4
,因为这是分配给它的值的大小。然而,另一种观点似乎认为输出的大小应该是
[4]
4x1
。您是否已手动指定MATLAB功能块的输出为大小
[4]
,或demux的大小为输入大小
[4]


您可以将
rad
的定义更改为4x1,或者将指定给Simulink的大小更改为
[1,4]

您是说解复用吗?如果demux连接到范围,则所述模型适用于我(在R2013b中)。您将什么连接到demux的输出?您好。是的,对不起。我指的是DeMux。在左侧,解复用器连接到功能,在右侧,它分成4个端口,每个端口连接到一个产品块。谢谢,我明白你的意思。我不知道我必须手动设置MATLAB函数的输出。右键单击功能块,选择“Explore”并将输出大小设置为“[14]”完成了操作。谢谢。这对我很有用,但我更喜欢输出大小是否可以“继承”。你对此有什么建议吗?(或者这是一个单独的问题?)。。。你知道为什么转置不能解决问题吗?