Ok,I will try to explain the problem better.
test_iteration.xlsx solves f(x) = x^2 - x = 0 using the bisection method (Bisection method - Wikipedia). Basically the method shifts two points (x_a and x_b) along the x-axis until f(x_a) and f(x_b) have opposite sign. The a new point closer to the solution is calculated as (x_a+x_b)/2.
Cells D13:D15 represent the two old points and a new point x_c. From D17:D36 the function values and next point x_c are calculated according to the bisection algorithm.
Cells D38:D40 contain the points x_a, x_b and x_c for the following iteration step.
Every 15 steps the excel file resets it self using the counter in cell D7.
When I enable iterative calculations and set the number of calculations to 1 I can follow the algorithm step-by-step by pressing F9 or clicking “calculate now” on the formulas tab. In Excel everything works as expected.
I then save the file and upload it to our web environment, as can be seen in the attached pictures.
Then I open the web form and see step 0. If not, you can get to step 0 by changing the value in field run until “counter” = 0.
Step 0: The web form and the Excel file agree.
Step 1: The web form and the Excel file do not agree.
x_b should be 1.5, as was determined in step 0.
Step 2:The web form and the Excel file do not agree.
Again x_b does not agree with the x_b next calculated in previous step.
What seems to happen is the circular reference is resolved differently to Excel. Excel works top to bottom and therefore take the previously calculated x_b next, and then calculates a new x_b next for the next step.
Aspose seems to somehow take the updated x_b next and uses that in the rest of the calculations.
I hope this is clear enough to reproduce the issue.
Thanks,
PeterIterative Calculations.zip (276.8 KB)