www.mikrocontroller.net

Forum: PC-Programmierung 'Array Rechner'


Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Heiko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matlab, Mathemtaica, ...

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
C++ nehmen, da kann man sich sowas bauen

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Heiko schrieb:
> Matlab, Mathemtaica, ...

kostenlose alternative Octave, Scilab

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: D. I. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Samuel K. schrieb:

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

APL.

Autor: Hans Mayer (hansilein)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Mathematica z.B.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans Mayer schrieb:
> Mathematica z.B.

In Maxima geht's auch und das sogar für umsonst ;-)
(%i1) 1/[3,4,6,3];
                                  1  1  1  1
(%o1)                            [-, -, -, -]
                                  3  4  6  3
(%i2) float(%);
(%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.

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht 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 :)

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klassischer Fall für funktionale Sprachen:
// Operator / überladen 
let (/) (a : float) (b : float list) = List.map (fun value -> (float)a / value) b
// Anwenden
let c = 1.0 / [ 1.0; 2.0; 3.0; 4.0 ]
// Ergebnis ist:
// 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

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir ist es lieber wenn das Ergebnis exakt ist 1/3 statt 0.3333333333

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
noch eine Onlinevariante:
www.sagenb.org
http://www.sagemath.org/doc/tutorial/tour_algebra.html

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht 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/p...

Quelltexte des Compilers und der Libs gibt's unter der Apache 2.0 
Lizenz:
http://fsharppowerpack.codeplex.com/

Autor: Sam .. (sam1994)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Hans Mayer (hansilein)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Arc Net (arc)
Datum:

Bewertung
0 lesenswert
nicht 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=y3kaQxIns0o...
oder
http://www.codeproject.com/KB/net-languages/Symbol...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.