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

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

 Réponse acceptée

Kei Otsuka
Kei Otsuka le 13 Fév 2017
Modifié(e) : Kei Otsuka le 13 Fév 2017

5 votes

コード生成の際に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 commentaire

Ma
Ma le 14 Fév 2017
こんな簡単にできるなんて知りませんでした。感動しました。大変助かります。有り難うございました。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB Coder dans Centre d'aide et File Exchange

Produits

Question posée :

Ma
le 13 Fév 2017

Commenté :

Ma
le 14 Fév 2017

Community Treasure Hunt

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

Start Hunting!

Translated by