Some functions requires the input to be a constant, when run in Matlab Coder. I wish to find a way to declare the input as a constant before it is input as an example for the problematic situation:
function foo = subsubfunction(x,y)
[B,A]=butter(1,x/y);
This will return the error 'All inputs must be constant'
How do I declare x and y as constants so that butter() gets happy? I have tried many solutions and unfortunately not found anything really satisfying. If the command line operation coder.newtype('constant',x)
could be used it would simplify everything.
Use coder.const
in the function, so that the function butter
knows you are passing a constant input. The documentation is available here.
function foo = subsubfunction(x,y)
[B,A]=coder.const(@butter,1,x/y);
Note: You cannot change the value of x/y
in the generated code. You could individually change x
and y
, but not the ratio of the two numbers.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With