0

Matlabに移植したC関数があります

ただし、C バージョンは私の Matlab バージョンよりもはるかに優れた出力を生成するため、Matlab バージョンで必要なデータ コードを生成し、C の変数にロードして、C にデータ ポイントの処理を実行させ、その逆も同様に行いたいと考えています。同じデータセットで 2 つのプログラムがどこでどのように異なって動作するかを比較できます

Matlab でデータ セットを計算し、それらをファイルに保存し、確認信号を C デバッガーに送信して、Matlab から信号を取得すると、そのコードをシングル ステップで読み込んで、ディスク上のファイルから matlab に提供されたデータ

これを行うことさえ可能でしょうか?可能であれば、これを逆に実行できるようにしたいです。つまり、C プログラムはデータ ポイントを生成してファイルに保存し、Matlab にそのコードのシングル ステップを続行するように通知します。

編集:

VC++ 2010 デバッガーは非常に使いやすいですが、他のプログラムと組み合わせて使用​​するのは非常に難しいと感じています。したがって、gcc のデバッガー (Codeblocks などを使用) でこれを行うことができる場合は、これを行う方法についていくつか提案をお願いします (つまり、VC++ のデバッガーである必要はありません)。

4

1 に答える 1

0

C コードをMEXファイルとしてラップすると、データを MATLAB から C コードに直接送信できます。次に、VS デバッガーを MATLAB プロセスに接続し、通常どおり MEX ファイルにブレークポイントを設定できます。これにより、MATLAB コードをシングル ステップで実行し、次に C コードを実行できます。(C コードをシングルステップ実行している間は、MATLAB が応答しないことに注意してください)。

実は、私がいつも忘れがちなのですが、ここで役立つかもしれないのは、MATLAB のLOADLIBRARYインターフェイスです。これにより、C コードを MEX ベニアでラップする必要がなくなります。私は試したことはありませんが、ここで同じトリックを実行できると思います.VSデバッガーを実行中のMATLABプロセスに接続し、ブレークポイントなどを設定します.

于 2012-09-26T11:42:55.907 に答える