我在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);
答案 0 :(得分:0)
您需要声明信号,或者特别是在您的情况下,输出信号的大小是可变的。有相当多的文档描述了这样做:Variable Size Data。
我建议您首先查看Filter a Variable Size Signal,其中介绍了其他文档页面中描述的所有步骤。