simulink-matlab函数变量大小矩阵

时间:2016-06-23 14:02:34

标签: matlab function simulink

我在Simulink中有一个Matlab功能块,它想成为一个调制器。 它得到一个[40000x1]输入并且应该返回[51x1]输出,该函数用作从输入信号中找到转折点。 但是编译时总会出现问题。

'数据'ext'被推断为可变大小矩阵,而Model Explorer中的属性将其大小指定为继承或固定'

简化代码如下所示:

function ext= sig2ext(sig)

sig=sig(:);

w1=diff(sig); 

w=logical([1;(w1(1:end-1).*w1(2:end))<=0;1]);

ext=sig(w);

1 个答案:

答案 0 :(得分:0)

您需要声明信号,或者特别是在您的情况下,输出信号的大小是可变的。有相当多的文档描述了这样做:Variable Size Data

我建议您首先查看Filter a Variable Size Signal,其中介绍了其他文档页面中描述的所有步骤。