Numerik-Bibliothek für Lazarus

Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.

Numerik-Bibliothek für Lazarus

Beitragvon photor » 6. Mär 2011, 22:21 Numerik-Bibliothek für Lazarus

Hallo Forum,

ich habe schon mal hier im Forum gesucht, aber nicht wirklich was gefunden. Ich suche eine Bibliothek mit der ich z.B. Integrale numerisch berechnen kann. Später kommen vielleicht noch andere Aufgaben hinzu, wie Matrizen- und Vektor-Rechnung, Lösen von Gleichungssystemen, Nullstellensuche etc.

Im Prinzip wäre etwas wie die "Numerical Recipes" in Lazarus recht schön; die "Numerical Recipes in C" habe ich hier. Bevor ich jetzt anfange, das ganze von C in Pascal zu Übersetzen (mit all den Fehlermöglichkeiten) wollte ich frage, ob es eine Numerik- oder Mathe-Bibliothek für Lazarus/Delphi gibt.

Danke für jeden Tipp

Photor
photor
 
Beiträge: 149
Registriert: 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux (L 1.6.4 FPC 3.0.2) | 
CPU-Target: 64Bit
Nach oben

Beitragvon theo » 7. Mär 2011, 00:01 Re: Numerik-Bibliothek für Lazarus

Ich habe von der Materie zwar nicht viel Ahnung, aber ich bin stolzer Besitzer eines Zugangs zur Suchmaschinen wie Google.
Die spucken dann z.B. sowas aus:
http://www.efg2.com/Lab/Library/Delphi/ ... tm#Sources
theo
 
Beiträge: 8032
Registriert: 11. Sep 2006, 18:01

Beitragvon Thomas B. » 7. Mär 2011, 12:28 Re: Numerik-Bibliothek für Lazarus

Für Matrizen und Vektoren nimm am besten die Unit Matrix, die der FPC mitliefert. Diese arbeitet mit überladenen Operatoren, d.h. Matrizenmultiplikation von 2 Matrizen A und B heißt dann im Quellcode einach "A * B".

Für die numerischen Berechnungen von Integralen, Ableitungen, Nullstellensuche etc. könnten Dir Google oder z.B. die Routinen aus Promathika weiterhelfen.
Thomas B.
 
Beiträge: 89
Registriert: 2. Nov 2007, 13:32
Wohnort: Ulm
OS, Lazarus, FPC: Win (L 1.0 FPC 2.6.0) | 
CPU-Target: 32Bit
Nach oben

Beitragvon u-boot » 7. Mär 2011, 12:47 Re: Numerik-Bibliothek für Lazarus

Das Buch "Numerical Reciepes in Pascal" gibt es schon sehr lange (bzw. neu wird es das wohl nicht mehr geben) . Zu finden ist das Buch auch irgendwo in wiss. Bibliotheken. Bei http://nr.com gibts wohl auch Code. ...

Achja und wie immer schön drauf achten was man wie verwenden darf :roll: ...
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)
u-boot
 
Beiträge: 297
Registriert: 9. Apr 2009, 09:10
Wohnort: 785..
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4) | 
CPU-Target: 32Bit
Nach oben

Beitragvon ErnstVolker » 7. Mär 2011, 13:47 Re: Numerik-Bibliothek für Lazarus

Hier

http://books.google.de/books?id=rCcSST0 ... &q&f=false

kann man auch mal reinschauen. Hab' ich mir gekauft um numerisch DGL's zu lösen. Ist für'n Anfang nicht sooo schlecht.

Gruß

Volker
ErnstVolker
 
Beiträge: 158
Registriert: 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon indianer-frank » 7. Mär 2011, 14:04 Re: Numerik-Bibliothek für Lazarus

Versuch mal TPMath, ist auch via SourceForge oder als DMath (Specific version for Delphi, FreePascal (FPC) and Lazarus) erhältlich, Lizenz ist LGPL:
TPMath is a mathematical library for Pascal compilers. It is entirely written in Pascal and does not depend on external libraries. TPMath provides routines and demo programs for numerical analysis, including mathematical functions, probabilities, matrices, optimization, linear and nonlinear equations, integration, Fast Fourier Transform, random numbers, statistics.

Gruß Frank
indianer-frank
 
Beiträge: 108
Registriert: 30. Nov 2008, 21:53

Beitragvon photor » 7. Mär 2011, 18:52 Re: Numerik-Bibliothek für Lazarus

indianer-frank hat geschrieben:Versuch mal TPMath, ist auch via SourceForge oder als DMath (Specific version for Delphi, FreePascal (FPC) and Lazarus) erhältlich, Lizenz ist LGPL:


TPMath kommt dem, was ich suche schon recht nahe (AKA könnte genau das sein, was ich suche). Könnte sage ich auch nur, weil bei dem Versuch die Lib mal eben zu kompilieren, folgendes passierte:
Code: Alles auswählen
photor@Worf:~/Lazarus/TPMath/dll> ./fpcompil.sh
Free Pascal Compiler version 2.4.0-2 [2010/02/20] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling tpmath.dpr
Compiling /home/photor/Lazarus/TPMath/units/utypes.pas
Compiling /home/photor/Lazarus/TPMath/units/uminmax.pas
[...]
Compiling /home/photor/Lazarus/TPMath/units/upca.pas
Compiling /home/photor/Lazarus/TPMath/units/ueval.pas
ueval.pas(286,3) Note: Local variable "ErrCode" is assigned but never used
ueval.pas(69,10) Note: Local variable "e" is assigned but never used
Compiling /home/photor/Lazarus/TPMath/units/uplot.pas
Fatal: Can't find unit graph used by uplot
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)
Free Pascal Compiler version 2.4.0-2 [2010/02/20] for x86_64
Copyright (c) 1993-2009 by Florian Klaempfl
Target OS: Linux for x86-64
Compiling tpmath.pas
2065 lines compiled, 0.0 sec
photor@Worf:~/Lazarus/TPMath/dll>uname -a
Linux Worf 2.6.32-5-amd64 #1 SMP Wed Jan 12 03:40:32 UTC 2011 x86_64 GNU/Linux

Also fehlt da offensichtlich noch was. Gesaugt uns ausgepackt habe ich die tpmath081.zip. Er vermisst wohl eine Unit "graph".

Infos zum System:
Debian Gnu Linux auf ATHLON AMD64; Free Pascal Compiler version 2.4.0-2 [2010/02/20] for x86_64, installierte Lazarus-Version: 0.9.28.2-12beta (das, was mit Debian Testing mitgeliefert wird)

Das werde ich wohl tiefer einsteigen müssen. Hat jemand Tipps?


Danke für eure Hilfe

Photor
photor
 
Beiträge: 149
Registriert: 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux (L 1.6.4 FPC 3.0.2) | 
CPU-Target: 64Bit
Nach oben

Beitragvon indianer-frank » 8. Mär 2011, 10:42 Re: Numerik-Bibliothek für Lazarus

Ich denke, der TPmath-Autor hat es sich hier zu einfach gemacht: Es wird nur zwischen Delphi und Nicht-Delphi unterschieden. FPC/Lazerus kennen aber offensichtlich weder Graph noch Graphics. Falls Du das Plotten benötigst: Es scheint ja noch eine TeX-Plot-Unit zu geben, also kann man wohl alles rauswerfen, was auf UPlot und UWinPlot verweist.

Eine weitere allgemeine Numerik-Sammlung für FPC/Pascal ist http://www.alglib.net/, hier allerdings wird zZ in der neuesten Version 3.3 noch nicht Pascal unterstützt. Die letzen Pascalversionen sind Version 2.6 (zB http://www.alglib.net/translator/re/alglib-2.6.0.freepascal.zip)

Etwas spezieller (zB ohne Integration), aber mit höherer Genauigkeit ist die AMath-Sammlung.
indianer-frank
 
Beiträge: 108
Registriert: 30. Nov 2008, 21:53

Beitragvon photor » 8. Mär 2011, 17:45 Re: Numerik-Bibliothek für Lazarus

indianer-frank hat geschrieben:Ich denke, der TPmath-Autor hat es sich hier zu einfach gemacht: Es wird nur zwischen Delphi und Nicht-Delphi unterschieden. FPC/Lazerus kennen aber offensichtlich weder Graph noch Graphics. Falls Du das Plotten benötigst: Es scheint ja noch eine TeX-Plot-Unit zu geben, also kann man wohl alles rauswerfen, was auf UPlot und UWinPlot verweist.

Scheint wohl wirklich so zu sein :( . Habe jedenfalls gestern Abend noch eine Info im Netz gefunden, die das nahe legt. Allerdings gab es auch nach Auskommentieren der fehlenden Units immer noch Probleme, die Lib zu kompilieren. Vielleicht probiere ich mal. Kann aber sein, dass ich dann mit weiteren Fragen hier aufschlage.

indianer-frank hat geschrieben:Eine weitere allgemeine Numerik-Sammlung für FPC/Pascal ist http://www.alglib.net/, hier allerdings wird zZ in der neuesten Version 3.3 noch nicht Pascal unterstützt. Die letzen Pascalversionen sind Version 2.6 (zB http://www.alglib.net/translator/re/alglib-2.6.0.freepascal.zip)

Hm. Auf die bin ich schon mal gestoßen. Weiß nicht mehr, warum ich sie schließlich nicht weiter angesehen habe. Vielleicht, weil ich gerade nicht sehe, wie man die Lib compiliert. Dass es nicht die allerneueste Version ist, stört mich nicht, solange richtig gerechnet wird.

indianer-frank hat geschrieben:Etwas spezieller (zB ohne Integration), aber mit höherer Genauigkeit ist die AMath-Sammlung.

Danke für den Link. Sieht auch interessant aus, es fehlt aber genau, was ich im Moment am meisten suche: num. Integration.

Danke indianer-frank

Ciao,

Photor
photor
 
Beiträge: 149
Registriert: 24. Jan 2011, 21:38
OS, Lazarus, FPC: Arch Linux (L 1.6.4 FPC 3.0.2) | 
CPU-Target: 64Bit
Nach oben

Beitragvon ErnstVolker » 3. Jan 2016, 17:54 Re: Numerik-Bibliothek für Lazarus

Hallo und noch ein gesundes und schönes neues Jahr an Alle!

Im Zusammenhang mit der Numerikbibliothek für Lazerus habe ich mal eine Frage, denn bei grober Durchsicht der Doku zu TPMath ist mitr das nicht aufgefallen.

Ich bin auf der Suche nach einer Möglichkeit Vektoren zu generieren so ähnlich wie in Scilab, mit Schrittweite (siehe Beispiel).

tr = [0:dt:tR];
vr = v/3.6 * ones(1,length(tr));

Gibt es so etwas für Lazarus?

Viele Grüße

Volker
ErnstVolker
 
Beiträge: 158
Registriert: 17. Feb 2009, 10:44
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z) | 
CPU-Target: xxBit
Nach oben

Beitragvon wp_xyz » 4. Jan 2016, 22:57 Re: Numerik-Bibliothek für Lazarus

Nicht fertig aus der Tüte, aber was spricht gegen ein paar Zeilen Code?
Code: Alles auswählen
type
  TVector = array of Double;
 
function CreateEquiDistPts(StartValue, Dist, EndValue: Double): TVector;
var
  i: Integer;
  x: Double;
begin
  SetLength(Result, trunc((EndValue - StartValue)/dist)+2);    // etwas mehr als Schutz vor Rundungsfehlern
  i := 0;
  x := StartValue;
  while x <= Endvalue do begin
    Result[i] := x;
    x := x + Dist;
    inc(i);
  end;
  SetLength(Result, i);
end;
wp_xyz
 
Beiträge: 2458
Registriert: 8. Apr 2011, 08:01

• Themenende •

Zurück zu Allgemeines



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried