5

一部の関数は、Matlab Coder で実行する場合、入力が定数である必要があります。問題のある状況の例として、入力が入力される前に入力を定数として宣言する方法を見つけたいと思います。

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

これにより、 「すべての入力は定数でなければなりません」というエラーが返されます

butter() が満足するように x と y を定数として宣言するにはどうすればよいですか? 私は多くの解決策を試しましたが、残念ながら本当に満足のいくものは見つかりませんでした. コマンド ライン操作coder.newtype('constant',x)を使用できれば、すべてが簡素化されます。

4

1 に答える 1

2

関数で使用coder.constして、関数butterが定数入力を渡していることを認識できるようにします。ドキュメントはこちらから入手できます。

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

x/y:生成されたコードでの値を変更することはできません。xとを個別に変更できますがy、2 つの数値の比率は変更できません。

于 2014-01-14T14:36:30.557 に答える