在Matlab Coder中运行时,某些函数需要输入为常量。 我希望找到一种方法在输入之前将输入声明为常量作为问题情况的示例:
function foo = subsubfunction(x,y)
[B,A]=butter(1,x/y);
这将返回错误'所有输入必须是常量'
如何将 x和y声明为常量,以便butter()变得快乐?我尝试了很多解决方案,遗憾的是没有找到任何令人满意的解决方案。如果可以使用命令行操作coder.newtype('constant',x)
,它将简化所有操作。
答案 0 :(得分:2)
在函数中使用coder.const
,以便函数butter
知道您正在传递常量输入。该文档可用here。
function foo = subsubfunction(x,y)
[B,A]=coder.const(@butter,1,x/y);
注意:您无法在生成的代码中更改x/y
的值。您可以单独更改x
和y
,但不能更改这两个数字的比率。