Very slow calculation - Messages
When I interrupt the calculation, it stopped at 2nd for loop, i=50 and j=9. Some of the variables has expression, for example, vs(i,j), some of the value was the initial value of -1, but calculated values has units that wasn't canceled. vs is supposed to be dimensionless.
Any trick to solve this?
Thanks!
Example.sm (39 KiB) downloaded 45 time(s).
For the second, your observation now it's correct:
WroteI suspect the variables stored the expression instead of results, which could take too much memory?
and can speed up a little the calculation using eval for each line:
Best regards
Alvaro.
WroteAny trick to solve this ?
The two red matrices complain
Example.sm (51 KiB) downloaded 33 time(s).
WroteWroteAny trick to solve this ?
The two red matrices complain
Example.sm (51 KiB) downloaded 33 time(s).
Thanks!
WroteHi. Two issues. First, you use two percent symbols, but forgot to put them as units: try to add them as '%, and they goes in blue color.
For the second, your observation now it's correct:WroteI suspect the variables stored the expression instead of results, which could take too much memory?
and can speed up a little the calculation using eval for each line:
Best regards
Alvaro.
Thanks a lot. It appears, eval is a very important function. I tried to eval every dimensionless variables and functions, such as OsP, dr before the loop. And it took some time finished the calculation. Still, takes ages long comparing to mathcad.
I hope the developer can improve this part soon. After all, the calculation load in my program is not heavy. I am really afraid if I introduce some iterations.
Thanks again
hrwang
WroteStill, takes ages long comparing to Mathcad.
Mathcad is a semi-compiled CAS.
In separate mode my 1.66 GHz Win 7 calculates the 4 matrices in 18 seconds.
WroteWroteStill, takes ages long comparing to Mathcad.
Mathcad is a semi-compiled CAS.
In separate mode my 1.66 GHz Win 7 calculates the 4 matrices in 18 seconds.
I have nz and nr both 200. It took about 10minutes in Smath to finish the whole program.
It appears the for loop takes a lot of time. If you can replace for loop with a matrix operator, such as SUM operator, it calculates faster. Personal experience, I don't know why.
WroteI have nz and nr both 200. It took about 10minutes in Smath to finish the whole program.
It appears the for loop takes a lot of time. If you can replace for loop with a matrix operator, such as SUM operator, it calculates faster. Personal experience, I don't know why.
Leave them in separate modules, then collapse, it might reduce timing by ½.
Can you show an example of your matrix operator ... Unknown to me.
WroteWroteI have nz and nr both 200. It took about 10minutes in Smath to finish the whole program.
It appears the for loop takes a lot of time. If you can replace for loop with a matrix operator, such as SUM operator, it calculates faster. Personal experience, I don't know why.
Leave them in separate modules, then collapse, it might reduce timing by ½.
Can you show an example of your matrix operator ... Unknown to me.
I don't understand how to do it in separate modules? The matrix operator are listed in the program, such as SUM operator(sigma), multiple operator(pi). They are the special cases. For example, you can find the sum of an array either use for loop, or SUM operator.
WroteI don't understand how to do it in separate modules ? The matrix operator are listed in the program, such as SUM operator(sigma), multiple operator(pi). They are the special cases. For example, you can find the sum of an array either use for loop, or SUM operator.
1. Separate modules in the attached... Two complain, but produce.
2. Try matrix operator matrix(3,4) to see if it can help you wrt the project.
3. I know no other way to construct your 4 matrices.
4. From the matrices, your can select any col/row
... you can sub-range any part ... you can unwrap in single vector.
Cheers ... Jean.
Example.sm (68 KiB) downloaded 33 time(s).
WroteWroteI don't understand how to do it in separate modules ? The matrix operator are listed in the program, such as SUM operator(sigma), multiple operator(pi). They are the special cases. For example, you can find the sum of an array either use for loop, or SUM operator.
1. Separate modules in the attached... Two complain, but produce.
2. Try matrix operator matrix(3,4) to see if it can help you wrt the project.
3. I know no other way to construct your 4 matrices.
4. From the matrices, your can select any col/row
... you can sub-range any part ... you can unwrap in single vector.
Cheers ... Jean.
Example.sm (68 KiB) downloaded 33 time(s).
Thanks!
-
New Posts
-
No New Posts