OpenAppend in Mathematica: Wie neue Zeile anfangen?

26/06/2008 - 04:27 von Oliver Mertens | Report spam
Guten Morgen,

Und wieder stecke ich am fruehen morgen an einem fuer die Experten
simplem Problem fest und erlaube mir folgende Frage zu Mathematica
zu stellen:

Ich habe eine Funktion MeineFunktion[k], die einen Wert ausrechnet
und in die Datei MeinTestExport.txt schreiben soll. Die Funktion
soll mehrmals ausgefuehrt werden. Dabei soll das Resultat jeweils
an die vorangegangen Resultate drangehangen werden. Gefunden
habe ich den Befehl "OpenAppend". An sich funktioniert es auch.
Aber ich moechte gerne, dass fuer jedes neue Resultat eine neue
Zeile angefangen wird. Zur Zeit wird jedes Resultat direkt an
das vorangegangene angefuegt.

Hier ist mein Kode (es wird hier einfach k^2 ausgerechnet):

MeineFunktion[k_]:= (
temp = OpenAppend["MeinTestExport.txt"];
TestExport = k^2;
Export[temp, TestExport, "Table"];
Close[temp]
);

Die Eingabe von

MeineFunktion[3];
MeineFunktion[4];
MeineFunktion[5];

liefert dann in der MeinTestExport.txt das folgende Ergebnis
91625

Ich moechte aber gerne stattdessen
9
16
25
haben.

Frage: Wie stelle ich dieses an?

Vielen Dank!
Oliver
 

Lesen sie die antworten

#1 Roland Franzius
26/06/2008 - 09:03 | Warnen spam
Oliver Mertens schrieb:
Guten Morgen,

Und wieder stecke ich am fruehen morgen an einem fuer die Experten
simplem Problem fest und erlaube mir folgende Frage zu Mathematica
zu stellen:

Ich habe eine Funktion MeineFunktion[k], die einen Wert ausrechnet
und in die Datei MeinTestExport.txt schreiben soll. Die Funktion
soll mehrmals ausgefuehrt werden. Dabei soll das Resultat jeweils
an die vorangegangen Resultate drangehangen werden. Gefunden
habe ich den Befehl "OpenAppend". An sich funktioniert es auch.
Aber ich moechte gerne, dass fuer jedes neue Resultat eine neue
Zeile angefangen wird. Zur Zeit wird jedes Resultat direkt an
das vorangegangene angefuegt.

Hier ist mein Kode (es wird hier einfach k^2 ausgerechnet):

MeineFunktion[k_]:= (
temp = OpenAppend["MeinTestExport.txt"];
TestExport = k^2;
Export[temp, TestExport, "Table"];
Close[temp]
);

Die Eingabe von

MeineFunktion[3];
MeineFunktion[4];
MeineFunktion[5];

liefert dann in der MeinTestExport.txt das folgende Ergebnis
91625

Ich moechte aber gerne stattdessen
9
16
25
haben.

Frage: Wie stelle ich dieses an?



Exportiere Strings

TestExport = ""<>ToString[k^2];

Die Alterantive ist, Open, Write, Close zu benutzen. Write schreibt eine
neue Zeile für jedes Write-Statement.


Roland Franzius

Ähnliche fragen