こんにちは、コマンド「コーダー」を使用して関数を .mex 関数に変換しようとしています。私の入力の 1 つは疎 double 行列です。コーダーが変数「Mf」の型を定義するように要求したとき、私は double(:inf x :inf) として設定します。それを構築し、関数を実行すると、次のメッセージで停止します:「MATLAB 式 'Mf' は適切なスパース性ではありません」
提案や解決策をいただければ幸いです。ありがとうございました!
こんにちは、コマンド「コーダー」を使用して関数を .mex 関数に変換しようとしています。私の入力の 1 つは疎 double 行列です。コーダーが変数「Mf」の型を定義するように要求したとき、私は double(:inf x :inf) として設定します。それを構築し、関数を実行すると、次のメッセージで停止します:「MATLAB 式 'Mf' は適切なスパース性ではありません」
提案や解決策をいただければ幸いです。ありがとうございました!
MATLAB Coder は現在、スパース行列をサポートしていません。
データのサイズによっては、MEX 関数を呼び出す前に、入力を非スパース行列に変換することを検討できます。
MEX 関数を生成する目的がコードの一部を高速化することである場合、スパースを必要としないコード内の関数に対して MEX 関数を生成し、それらを他の MATLAB コードから呼び出すことを検討できます。このようにして、コードの一部を高速化し、必要に応じてスパースを使用することができます。