Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

This question already has an answer here:

I have a set of arrays I would like to output to some file ArrayStorage.txt s.t. these arrays could be read-in to a separate notebook on a separate kernel. Is there an easy way to export a set of arrays?

share|improve this question
2  
"Is there an easy way to export a set of arrays" — the question seems to imply that existing methods are difficult. Have you tried looking in the help center? (press F1) –  rm -rf Mar 14 '13 at 23:42
    
@rm-rf Exporting a single array looks pretty simple, but I'm asking about exporting and importing a list of arrays? –  FaintingWater Mar 14 '13 at 23:44
    
@FaintingWater A list of arrays is just a tensor of a higher rank. The question is: For which application do you want to export it? –  halirutan Mar 14 '13 at 23:48
    
@halirutan For Mathematica. I would like a single file where I can reload all of my variables from another notebook after quitting the kernel? –  FaintingWater Mar 14 '13 at 23:57
1  
Then DumpSave is worth a look. You find it e.g. here in this question mathematica.stackexchange.com/q/121/187 –  halirutan Mar 15 '13 at 0:01
show 1 more comment

marked as duplicate by Mr.Wizard Mar 15 '13 at 2:20

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

2 Answers

If you want to save definitions, then DumpSave is one way to go:

a = RandomReal[1, 1000];
b = RandomInteger[10, 10000];
c = {blub, boing, ups};

DumpSave["tmp/out.mx", {a, b, c}];

Now you can quit the kernel or restart Mathematica and with

<< "tmp/out.mx"

a, b and c have their old values again.

One thing you should note is that files written by DumpSave can only be read on the same type of computer system on which they were written.

share|improve this answer
    
Always worth noting DumpSave is platform specific. –  kale Mar 15 '13 at 1:09
    
@kale I added this information. Thanks. –  halirutan Mar 15 '13 at 1:43
    
+1, by the way... –  kale Mar 15 '13 at 15:00
add comment

Another way was suggested by David Bailey on MathGroup late last year (https://groups.google.com/forum/?fromgroups=#!searchin/comp.soft-sys.math.mathematica/david$20bailey%7Csort:date/comp.soft-sys.math.mathematica/lf-EJeiqDwY/eEF29xJUFZwJ).

Briefly, as an alternative to MX files, try

 str=OpenWrite[file,BinaryFormat->True]; 
       BinaryWrite[str,magic,"TerminatedString"]; 
       BinaryWrite[str,Compress[{expr,version}],"TerminatedString"]; 
       Close[str]; 

to save, and

str=OpenRead[file,BinaryFormat->True]; 
    If[BinaryRead[str,"TerminatedString"]==magic, 
       expr=Uncompress[BinaryRead[str,"TerminatedString"]]; 
       ]; 
    Close[str];

to read.

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.