3次元以上の配列のmatlab coderでの取り扱い

5 views (last 30 days)
Ma
Ma on 13 Feb 2017
Commented: Ma on 14 Feb 2017
matlab coderで関数mファイルをmexファイルに変換する際に関しての質問です。 アプリとしてmatlab coderを利用し、ダイアログに従ってmexファイルを作成する際に、matlab coderではなく自分で引数のデータ型を選ぶことが出来ると思います。その際に、可能であれば3次元以上の配列(例えばL×M×Nの配列)を利用したいのですが、どうもで2次元の配列(つまり行列)までしか対応していないように思われます。
実際、3次元以上の配列にはmatlab coderもしくはmexは対応していないのでしょうか?どうぞ宜しくお願い致します。

Accepted Answer

Kei Otsuka
Kei Otsuka on 13 Feb 2017
Edited: Kei Otsuka on 13 Feb 2017
コード生成の際にMATLAB Coder Appをお使いということですと、 入力の型を定義する画面上ではデフォルトで2次元配列の選択肢しかありませんが、 ご自身でx記号を置いていただく事で次元を拡張することができます。
もしくは、コマンドラインでも引数の次元を指定してMEX生成が可能ですので、 参考にしてみてください。 以下はmyEdgeというユーザー定義関数に対して、引数として4次元配列(391x518x3x2)を 与えてMEXを生成した例になります。
cfg = coder.config('mex')
dtype = coder.typeof(uint8(0),[391 518 3 2])
codegen -config cfg myEdge -args dtype
  1 Comment
Ma
Ma on 14 Feb 2017
こんな簡単にできるなんて知りませんでした。感動しました。大変助かります。有り難うございました。

Sign in to comment.

More Answers (0)

Categories

Find more on Embedded Coder in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!