自分で解決できなかったので、この質問をしています。誰かが私に何か提案をしてくれることを願っています。
私の問題は次のとおりです。
私のプログラムには3つの部分が含まれています:
part-1: video encoder,
part-2: channel coding - also call to a mex-files: complie from C-function "encodeBits.c" to Matlab-mexfile "encodeBits.mexw32",
part-3: video decoder.
また、4 つのチェックを実行します。
チェック 1: part-1 + part-2全体。これは、チャネルコーディングがなくても、プログラムがうまく機能することを意味します。
チェック 2: パート 2 への疑似入力。これは、パート 2 が単独であることを意味します。パート2はうまくいきます。
part-2 still works well even under this condition:
possible array: **632** MB (6.623e+08 bytes) *
Memory available for all arrays: **1054** MB (1.105e+09 bytes) **
Memory used by MATLAB: 653 MB (6.842e+08 bytes)
Physical Memory (RAM): 2795 MB (2.930e+09 bytes)
チェック 3:パート 1 + パート 2 + パート 3全体。
memory before part 1 runs:
Maximum possible array: 877 MB (9.199e+08 bytes) *
Memory available for all arrays: 1265 MB (1.326e+09 bytes) **
Memory used by MATLAB: 441 MB (4.628e+08 bytes)
Physical Memory (RAM): 2795 MB (2.930e+09 bytes)
memory before part-2 runs, means after part-1 finished:
Maximum possible array: **869** MB (9.107e+08 bytes) *
Memory available for all arrays: **1270** MB (1.332e+09 bytes) **
Memory used by MATLAB: 430 MB (4.511e+08 bytes)
Physical Memory (RAM): 2795 MB (2.930e+09 bytes)
and it results error right after part-2 starting with error
Error using encodeBits
Out of memory. Type HELP MEMORY for your options.
チェック 4: チェック 3 からすべての変数をクリアした後、パート 2 を単独で再試行しましたが、それでもエラーが発生します
Error using encodeBits
Out of memory. Type HELP MEMORY for your options.
チェック 5: Matlab ウィンドウを閉じ、Matlab ウィンドウを開き、part-2 を単独 で実行するとうまくいきます。
それで、なぜそれが起こるのか理解できず、懸命に検索しようとしましたが、それでも解決できません。