Re: exporting numerical data
- To: mathgroup at smc.vnet.net
- Subject: [mg106711] Re: exporting numerical data
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Thu, 21 Jan 2010 04:56:46 -0500 (EST)
On 1/20/10 at 6:46 AM, shinytinkerbell at googlemail.com wrote:
>I have the following problem: I've created a table in mathematica
>that looks like this: TabIntegral={
>{{m_1,k_1,F(m_1,k_1)},{m_1,k_2,F(m_1,k_2)},...
>{m_1,k_N,...,F(m_1,k_N)}} , {{m_2,k_1,F(m_2,k_1)},{m_2,k_2,F
>(m_2,k_2)},...,{m_2,k_N,F(m_2,k_N)}} , ... , {{m_N,k_1,F(m_N,k_1)},
>{m_N,k_2,F(m_N,k_2)},...,{m_N,k_N,F(m_N,k_N)}} }; So something like
>an array of {x,y,F(x,y)} records. Now, I'd like to save this in
>human readable form in a file in such a way that I'd have three
>columns:
>m_1 k_1 F(m_1,k_1)
>m_1 k_2 F(m_1,k_2)
>...
>m_1 k_N F(m_1,k_N)
>m_2 k_1 F(m_2,k_1)
>...
>m_2 k_N F(m_2,k_N)
>...
>m_N k_N F(m_N,k_N)
>I've tried like that: Export["TabIntegral.dat", TabIntegral,
>"Table"]
Try Export["TabIntegral.dat", TabIntegral, "TSV"] instead
>The second question would be the following: as you see I have in my
>file small numbers such like 5.6073615530027356*^-9 that I'd like to
>read later on with a C-written program. If I'll leave it in this
>format as it is, there's no way C-program can read that. So how to
>write/format such small numbers while exporting to guarantee that
>I'll be able to C-read them later?
Use CForm. For example,
=46irst, I generate some data guaranteed to have a mix of small an
large values
data = Partition[Riffle[RandomReal[1, {6}], RandomReal[10^-9, {6}]],
3];
Then I write it to a file using:
Export["test", Map[CForm, data, {2}], "TSV"];
And the result copied from the file is:
0.5301071393681702 6.926079257776034e-11 0.530905760511476
8.362980091084562e-10 0.9676815104585867 4.1382735679317465e-10
0.3921371716712816 5.082457555494514e-10 0.007833160315384058
7.548468366279675e-10 0.43235469921728775 1.483762786846197e-11