MATLAB のコーダー ツールを使用して、行列指数関数の MEX バージョンを作成し、別の関数セットで使用しました。問題は、MEX バージョンでは元の m ファイルとは異なる結果が得られることです。
デバッグした結果、これは MEX ファイルと m-file が同じように行列の除算 (\) を行っていないことが原因であると考えています。または、そもそも MEX ファイルに問題があります。行列の除算が行われる行までのすべての変数は、両側で同等です。
これは、問題が発生する行です。
F = (V-U)\(2*U) + I
ここで、I は V と U のサイズの単位行列です。
MEX ファイルが行列除算を行うときの不一致の背後にある理由は何ですか? また、この問題を修正するにはどうすればよいですか? このコード行を分割せずに書き直すことはできますか?