Hallo Gibt es ein Programm mit dem man mit C-Arrays rechnen kann? z.b. 1/{3,4,6,3} = ... Das array ist in dem Fall deutlich länger als 4 Einträge. Ich fände das komfortabler als dauernd ein c# Programm umzucompilieren, damit es das und das macht.
Samuel K. schrieb: > h fände das komfortabler als dauernd ein c# Programm umzucompilieren, > damit es das und das macht. ??? HAst du schon mal von Variablen und Schleifen gehört?
Vlad Tepesch schrieb: > ??? > > HAst du schon mal von Variablen und Schleifen gehört? Ja hab ich. In c# schreibt man einen Taschenrechner nun mal nicht in 5min. So etwas schon. Aber danke für die vielen Tipps, ich muss mal ein paar ausprobieren.
mit R geht sowas auch recht komfortabel > (vec = 1/seq(1,10)) [1] 1.0000000 0.5000000 0.3333333 0.2500000 0.2000000 0.1666667 0.1428571 [8] 0.1250000 0.1111111 0.1000000 > (vec = 1/seq(1,10,0.5)) [1] 1.0000000 0.6666667 0.5000000 0.4000000 0.3333333 0.2857143 0.2500000 [8] 0.2222222 0.2000000 0.1818182 0.1666667 0.1538462 0.1428571 0.1333333 [15] 0.1250000 0.1176471 0.1111111 0.1052632 0.1000000 > (vec = 1/c(3,4,5,6,7,8)) [1] 0.3333333 0.2500000 0.2000000 0.1666667 0.1428571 0.1250000
Hans Mayer schrieb: > Mathematica z.B. In Maxima geht's auch und das sogar für umsonst ;-)
1 | (%i1) 1/[3,4,6,3]; |
2 | 1 1 1 1 |
3 | (%o1) [-, -, -, -] |
4 | 3 4 6 3 |
5 | (%i2) float(%); |
6 | (%o2) [.3333333333333333, 0.25, .1666666666666667, .3333333333333333] |
Die Frage ist natürlich, ob ein Octave-, Scilab, R-, APL-, Mathematica- oder Maxima-Array der Forderung des Threaderöffners genügen, der ja ausdrücklich nach C-Arrays gefragt hat.
Ja, Mathematica ist teuer wenn man es nur für Vektoroperationen benutzt, aber Maxima macht keine C-Arrays wegen den eckigen statt geschweiften Klammern :)
Klassischer Fall für funktionale Sprachen:
1 | // Operator / überladen
|
2 | let (/) (a : float) (b : float list) = List.map (fun value -> (float)a / value) b |
3 | // Anwenden
|
4 | let c = 1.0 / [ 1.0; 2.0; 3.0; 4.0 ] |
5 | // Ergebnis ist:
|
6 | // val c : float list = [1.0; 0.5; 0.3333333333; 0.25]
|
Da F# auch einen REPL (F# Interactive) hat, geht das auch ohne compilieren
Hans Mayer schrieb: > Mir ist es lieber wenn das Ergebnis exakt ist 1/3 statt 0.3333333333 Es gibt in F#, wie in den meisten aktuelleren Programmiersprachen, auch rationale Zahlen (BigNum).
Hans Mayer schrieb: > noch eine Onlinevariante: > www.sagenb.org > http://www.sagemath.org/doc/tutorial/tour_algebra.html Hatte ich vergessen zu schreiben: Installiert man F# (auch ohne IDE) hat man den Compiler und F#-Interactive als Kommandozeilen-Programme und kann damit experimentieren oder fsi zum skripten benutzen. http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/release.aspx Quelltexte des Compilers und der Libs gibt's unter der Apache 2.0 Lizenz: http://fsharppowerpack.codeplex.com/
Hans Mayer schrieb: > Mir ist es lieber wenn das Ergebnis exakt ist 1/3 statt 0.3333333333 Exakt rechnen kostet Rechenzeit. Und auf einem Tiny ist das zuviel des Guten.
Wenn man danach ein Integral lösen will geht es wesentlich schneller wenn man noch exakte Werte hat und deswegen analytisch statt numerisch integrieren kann.
Hans Mayer schrieb: > Wenn man danach ein Integral lösen will geht es wesentlich schneller > wenn man noch exakte Werte hat und deswegen analytisch statt numerisch > integrieren kann. Zwei schöne Beispiele: http://books.google.com/books?hl=de&id=y3kaQxIns0oC&pg=PA322#v=onepage&q&f=false oder http://www.codeproject.com/KB/net-languages/SymbolicCalcInFS.aspx
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.