I couldn't find the answer to my question, so here it is:
I have quite a large table, which I generate in Matlab (for some reasons i use both Matlab and Mathematica, I'd like to use only one of them, but plots look better in Mathematica and programming is more clear for me in Matlab). Matlab says that data I have is "121x121x181 double", I save it as *mat file - its size is only 1.4 KB. Then I import it in Mathematica and flatten, because of some wierd extra dimension:
data1 = Flatten[Import["file.mat"],1];
ByteCount[data1];
21200328
So, its over 20 MB already. After that I transform the table a little bit further, to make it appropriate for interpolation:
m = Max[data1];
data2 = Flatten[
Table[{{i1, i2, i3}, data1[[i3, i2, i1]]/m},
{i1, 1, 181}, {i2, 1, 121}, {i3, 1, 121}],
2];
ByteCount[data2]
508804112
Well, it is more than 500MB. Now things are getting slow. Not to say, I can't handle bigger tables. So, can anybody explain, how to work with such big tables safely? Because I really don't need this infinite precision, I believe Mathematica uses each time I do anything.
$MaxPrecision
. $\endgroup$MapIndexed
may allow you to apply a function to array values without explicitly tagging each with its index. $\endgroup$