常量和Matlab编码器

在Matlab Coder中运行时,某些函数需要输入为常量.我希望找到一种方法,在输入之前将输入声明为常量,作为有问题情况的示例:

  function foo = subsubfunction(x,y)            
      [B,A]=butter(1,x/y);

这将返回错误’所有输入必须是常量’

如何将x和y声明为常量,以便butter()变得快乐?我尝试了很多解决方案,遗憾的是没有找到任何令人满意的解决方案如果可以使用命令行操作coder.newtype(‘constant’,x),它将简化一切.

最佳答案 在函数中使用coder.const,以便函数butter知道你正在传递一个常量输入.该文档可用于
here.

 function foo = subsubfunction(x,y)            
  [B,A]=coder.const(@butter,1,x/y);

注意:您无法在生成的代码中更改x / y的值.您可以单独更改x和y,但不能更改两个数字的比率.

点赞