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

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

 採用された回答

Kei Otsuka
Kei Otsuka 2017 年 2 月 13 日
編集済み: Kei Otsuka 2017 年 2 月 13 日

5 投票

コード生成の際に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 件のコメント

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

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeMATLAB Coder についてさらに検索

製品

質問済み:

Ma
2017 年 2 月 13 日

コメント済み:

Ma
2017 年 2 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by