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

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

Risposta accettata

Kei Otsuka
Kei Otsuka il 13 Feb 2017
Modificato: Kei Otsuka il 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 Commento
Ma
Ma il 14 Feb 2017
こんな簡単にできるなんて知りませんでした。感動しました。大変助かります。有り難うございました。

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Testing Frameworks in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by