Forum: PC-Programmierung 'Array Rechner'


von Sam .. (sam1994)


Lesenswert?

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.

von Heiko (Gast)


Lesenswert?

Matlab, Mathemtaica, ...

von Klaus W. (mfgkw)


Lesenswert?

C++ nehmen, da kann man sich sowas bauen

von Vlad T. (vlad_tepesch)


Lesenswert?

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?

von Vlad T. (vlad_tepesch)


Lesenswert?

Heiko schrieb:
> Matlab, Mathemtaica, ...

kostenlose alternative Octave, Scilab

von Sam .. (sam1994)


Lesenswert?

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.

von D. I. (Gast)


Lesenswert?

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

von (prx) A. K. (prx)


Lesenswert?

Samuel K. schrieb:

> Gibt es ein Programm mit dem man mit C-Arrays rechnen kann?

APL.

von Hans M. (hansilein)


Angehängte Dateien:

Lesenswert?

Mathematica z.B.

von Yalu X. (yalu) (Moderator)


Lesenswert?

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.

von Hans M. (hansilein)


Lesenswert?

Ja, Mathematica ist teuer wenn man es nur für Vektoroperationen benutzt, 
aber Maxima macht keine C-Arrays wegen den eckigen statt geschweiften 
Klammern :)

von Arc N. (arc)


Lesenswert?

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

von Hans M. (hansilein)


Lesenswert?

Mir ist es lieber wenn das Ergebnis exakt ist 1/3 statt 0.3333333333

von Yalu X. (yalu) (Moderator)


Lesenswert?

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).

von Hans M. (hansilein)


Lesenswert?

noch eine Onlinevariante:
www.sagenb.org
http://www.sagemath.org/doc/tutorial/tour_algebra.html

von Arc N. (arc)


Lesenswert?

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/

von Sam .. (sam1994)


Lesenswert?

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.

von Hans M. (hansilein)


Lesenswert?

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.

von Arc N. (arc)


Lesenswert?

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
Noch kein Account? Hier anmelden.