0

こんにちは、コマンド「コーダー」を使用して関数を .mex 関数に変換しようとしています。私の入力の 1 つは疎 double 行列です。コーダーが変数「Mf」の型を定義するように要求したとき、私は double(:inf x :inf) として設定します。それを構築し、関数を実行すると、次のメッセージで停止します:「MATLAB 式 'Mf' は適切なスパース性ではありません」

提案や解決策をいただければ幸いです。ありがとうございました!

4

1 に答える 1

0

MATLAB Coder は現在、スパース行列をサポートしていません。

データのサイズによっては、MEX 関数を呼び出す前に、入力を非スパース行列に変換することを検討できます。

MEX 関数を生成する目的がコードの一部を高速化することである場合、スパースを必要としないコード内の関数に対して MEX 関数を生成し、それらを他の MATLAB コードから呼び出すことを検討できます。このようにして、コードの一部を高速化し、必要に応じてスパースを使用することができます。

于 2014-10-28T12:42:25.880 に答える