Info

# Why I get different outcomes from iteration as part of a big function and iteration as main part of a small function

1 view (last 30 days)
TingTing on 25 Apr 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi,
I'm really bothered by this issue and will appreciate help very much.
I have a while loop which has only 7 lines and involve nothing more than plus, minus, exp, logncdf and normcdf. I use a step of 0.000001 to adjust my input variable until it gives output closer to the truth I believe in. This is currently part of a sub-function in a big function However, it will never finish the loop. While if I take the sub-function out, give its input vairables the values which should be when the big funtion runs til this step, this separate function will solve quickly. Since I do need this to be part of the big function, I am kind of iritated by this. Do you have any explanation? does it have something to do with the capacity of Matlab or... ? Everything is the same, the input values were set to be the same and it runs well as a separate function, but not so when this separate function is sub-function of a big function which carries many variable... :(
Sara on 25 Apr 2014
Post the code, so we can see exactly what you are doing, e.g., how do you increment variables.
TingTing on 14 May 2014
Hi Sara, thank you for your response. Mathwork doesn't send me reminder when a commented is given, so I thought nobody responded...
In the days I thought so, I checked my program again and found what I described was not really true. When I said "if I take the sub-function out, give its input vairables the values which should be when the big funtion runs til this step, this separate function will solve quickly.", I manually wrote down and keyed in the values I saw on the screen. However, I skipped the digits after the decimal, so the values were slightly changed and this set of values CAN ran through the sub-function when it is taken out alone. Actually, it can also run through the sub-function when it is in the big function. However, if I use the real values (taken from the system by save xxx.mat), this set of value won't run through either the sub-function alone or the sub-function in the main function. So its not an issue with the capacity of matlab. It's my own sub-function's lack of robustness.