mex file gives two different results. what is the cause?

2 ビュー (過去 30 日間)
Itzik Ben Shabat
Itzik Ben Shabat 2016 年 7 月 27 日
コメント済み: Honglei Chen 2016 年 7 月 28 日
Hello, I am running a mex file that i compiled on my pc. I expect that for the same input the result would be the same. however, this is not the case - the first and second runs (for the same input) give completely diferent results. I am lost and dont know even what to look for. does anyone know what could be the cause of this abnormal phenomena?

回答 (2 件)

Honglei Chen
Honglei Chen 2016 年 7 月 27 日
maybe you have some random number in functions you use? Could you try to run
rng(0)
before each run of your script and see if it still produces different results?
  2 件のコメント
Itzik Ben Shabat
Itzik Ben Shabat 2016 年 7 月 27 日
no random numbers. but there is a global variable that seems to have beenthe problem. why is that?
Honglei Chen
Honglei Chen 2016 年 7 月 28 日
I'm wondering if you updated the global variable in your first run but didn't reinitialize it in the second run? Maybe you can try the "clear" command between each run to see if that's the case?

サインインしてコメントする。


Walter Roberson
Walter Roberson 2016 年 7 月 27 日
You are probably either corrupting memory or using uninitialized memory.
  2 件のコメント
Itzik Ben Shabat
Itzik Ben Shabat 2016 年 7 月 27 日
There is a global variable that seems to have beenthe problem. but not sure how could that be corrupted (and im initializing it, however when i changed the location of initialization it solved it) why is that?
Walter Roberson
Walter Roberson 2016 年 7 月 27 日
Did you declare the variable as global in every routine you use it in? You need to specifically "global" the variable in each function you want to use the value in.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by