Community Tip - You can Bookmark boards, posts or articles that you'd like to access again easily! X
"Richard Jackson" wrote:
Are you using symbolic calculations, and specifically, are you using symbolic definite integrals? Richard
"Richard Jackson" wrote:
Then all you can do is try to manage the memory better, which means understanding how Mathcad stores data and intermediate results. First, Mathcad is based on .NET, so when it needs a chunk of memory to store a matrix, that memory needs to be contiguous. So if you have big matrices, try and assign them earlier in the worksheet rather than later. Second, if you assign a matrix, say M, in a Mathcad worksheet, then do some calculations with it, and then reassign the matrix M lower down the worksheet, the two copies of M are different. The second assignment does NOT overwrite the first, because the first assignment is still needed by Mathcad for the calculations higher up the worksheet. Every time the contents of a worksheet variable are "changed", whether by assignment or calculation, a new copy of that variable is created (so they are not actually variables at all, they are constants, and their contents do not change). While this is true of variables at the worksheet level, it is not true of local variables in programs. The memory associated with a local variable in a program is freed as soon as the program exits. So try to keep the number of places where large arrays are created (either by assignment or calculation) at the worksheet level to a minimum. Put all the intermediate calculations you can in a program. Also try to minimize the number of steps in calculations at the worksheet level. A=B*C followed by D=A+E takes more memory than D=B*C+E. Richard
"andrea tasselli" wrote:
All these things I normally do although sometime (and this time) the end product of the calcs are the matrices themselves so there is no avoiding that. This, however, does not explain why the program won't let you gracefully exit