Hallo,
> Ich habe mich nun f?r den Befehl EXPORT entschieden!
was vielleicht nicht das g"unstigste ist.
> Bis jetzt habe ich nun eine Funktion definiert, die mein Ergebnis m.H.v. d. Export-Befehls in eine andere Datei
> schreibt! (Die anderen Befehle habe ich
> auch ausprobiert! Doch dieses Mal an den richtigen Stellen :) Vorher habe ich immer versucht, mit den Befehlen
> OpenAppend - Write -Close zu arbeiten, dabei habe ich immer meinen ganzen Funktionsaufruf
> versucht, in Write einzuarbeiten! Das hat allerdings nie funktioniert! :) )
Wie "uberraschend ...
>
> So, aber hier nun eine neue Frage (wobei ich nicht weiss, ob ich es einfach zu kompliziert mache. Vielleicht sollte
> ich mein Programm so lassen, wie es ist, und nicht versuchen, es "sch?n" zu machen!
Ich bef"urchte das wird lange dauern.
>?hm, lange
> Rede - kurzer Sinn?) :
>
> Also, hier erst mal mein Beispiel.
> Ein kleines Testprogramm von mir
> (mit Fehler, aber immerhin habe ich eine Ausgabe nach meinem Sinn) :
>
> In[]:= v:={}
> u:={}
> w:={u,v}
> n=3;
> vers[ n_ ] :=
Module[{},
For[ i=1, i <= n, i++,
> If[ EvenQ[i],
v=Table[ StringForm[" `` Mal `` " , i ], {i , n}] ,
> w=Table[ StringForm[" `` Mal `` " , i^2 ], {i , n}]
> ]
> ] ;
> Export["hallo.txt" ,
Prepend[ w, {"Erste Spalte", "Zweite Spalte "} ] ,
"Table"]
> ]
>
Also `1` , `2` wird in StringForm[] als Platzhalter f"ur ein Argument
verstanden, fehlen die Zahlen so wird bei jedem `` Paar weiter gez"ahlt.
StringForm[" `` Mal `` " , i ] entspricht also
StringForm[" `1` Mal `2` " , i ] allerdings fehlt das zweite Argument
und
das gibt einen Fehler.
Sollen die beiden Listen w, v der Nachwelt erhalten werden ? oder warum
stehen die nicht *in* der Variablen Liste des Module[] ?
vers[file_String, n_Integer ] :=
Module[{w,v},
w=v={};
For[ i=1, i <= n, i++,
If[ EvenQ[i],
v=Table[ StringForm[" Mal `1` " , i ], {i , n}] ,
w=Table[ StringForm[" Mal `1` " , i^2 ], {i , n}]
]
] ;
Export[file ,
Prepend[ w, {"Erste Spalte", "Zweite Spalte "} ] ,
"Table"]
]
Wieso werden n/2-mal die selben Listen w und v erzeugt ?
Wozu ist die For[]-Schleife "uberhaupt gut (?) und wieso wird
v "uberhaupt nicht mehr verwendet?
Es ist zwar erlaubt, innerhab einer Schleife die Schleifenvariable
in einer Table[] zu benutzen, das ist aber *sehr* schlechter
Programmier-Stil, in den meisten anderen Sprachen f"uhrt sowas
in ein Desaster. Wenn man dass nach 2 Monaten anguckt gr"ubelt man
ewig wieso der erste Durchlauf von Table[] nicht auch die For[]
Schleife terminiert.
> So, mit dem Aufruf vers[2] erhalte ich nun eine recht nette (geschummelte :) ) Tabelle!
>
> Was ich jetzt gern machen w?rde, ist:
>
> Statt n w?rde ich gern den Dateien Name,
> wo ich also meine Daten hinschicke (momentan hallo.txt) , eingeben k?nnen:
Echt ? *statt* n ? oder so wie oben *ausser* n
>
> Bsp:
>
> vers[ dateiname_ ] := Module[{}, (......)
>
> Export[" dateiname.txt" , .........] ]
>
> damit ich einen Aufruf starten kann und sofort sagen kann, in welche Datei meine Ergebnisse geschrieben werden sollen:
>
> In[]:= vers[ michaela ]
>
> Out[]:= michaela.txt
>
> Ist das m?glich! Oder muss man so etwas manuell gestalten????
Was heisst "manuell gestalten" ?
Wenn schon, dann sollte der Aufruf vers["michaela"] heissen,
und wenn man die Extension automatisch anh"angen will, dann
w"are
vers[pre_String]:=Module[{dateiname},
dateiname=If[!StringMatchQ[pre,"*.*"],pre<>".txt",pre];
(* der ganze Unsinn von oben ... *)
Export[dateiname ,
Prepend[ w, {"Erste Spalte", "Zweite Spalte "} ] ,
"Table"]
]
nicht schlecht.
Gruss
Jens