Re: Importing complex numbers into mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg37491] Re: [mg37464] Importing complex numbers into mathematica
- From: Tomas Garza <tgarza01 at prodigy.net.mx>
- Date: Fri, 1 Nov 2002 01:43:40 -0500 (EST)
- References: <200210310941.EAA18338@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
One possibility is that you keep your source data as a "CSV" file. For
example,
In[1]:=
Export["test.dat", {3 + 2*I, 1 + 0.5*I}, "CSV"];
In[2]:=
test = Import["test.dat", "CSV"]
Out[2]=
{{"3 + 2*I", "1 + 0.5*I"}}
As you can see, the imported data are strings. Then use ToExpression to
convert them to numbers:
In[3]:=
a = ToExpression[test]
Out[3]=
{{3 + 2*I, 1 + 0.5*I}}
In[4]:=
Head[a[[1,1]]]
Out[4]=
Complex
I guess this is what you were looking for.
Tomas Garza
Mexico City
----- Original Message -----
From: "mike" <mike_uk31415 at yahoo.co.uk>
To: mathgroup at smc.vnet.net
Subject: [mg37491] [mg37464] Importing complex numbers into mathematica
> Hi
>
> This may be a stupid question but is there an easy way to import
> complex numbers from a file into mathematica. I have written some c++
> code that outputs a set of complex numbers to a file and I have been
> trying to get them into mathematica. What format should I use?
>
> To give myself a clue I exported a couple of complex numbers from
> Mathematica to see what the file would look like:
>
> Export["test.dat", {3 + 2 I, 1 + 0.5 I}, "List"];
>
> which gives me the following test.dat:
> 3 + 2 I
> 1 + 0.5 I
>
> so far so good - looks like thats the format I need my c++ code to
> output but when i try
>
> test = Import["test.dat", "List"];
> i get the following output
> test = {3, "+", 2, "I", 1, "+", 0.5, "I"}
>
> Can anyone help me? I want to be able to Import the file directly - I
> would rather not simply import a big list of numbers and write a
> function that makes the relavent ones complex. Any help would be much
> appreciated
>
> Mike
>
>