ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4420510
Jetzt (Chat):
30 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
Algorithmen und Datenstrukturen
Komplette MatheBibliothek
GepinntSeite: < 1 2 3 4 5 . . . a 17 18 19 20 21 >
AutorThema
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
@Kimmi:
Erstens: Was meinst du mit Funktionsumfang?
Zweitens: Willst du sagen, dass du nicht nachvollziehen kannst, wofür man eine Klasse TPolynom gebrauchen könnte und wir statt dessen nur numerische Lösungen benutzen sollen?
Drittens: Auf welche Testanwendungen beziehst du dich?

EDIT: Rächtscreibfeler

1 Mal gendert, zuletzt am 15.12.2005, 14:01:34 Uhr von Wassja.
15.12.2005, 14:01:08 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
Zu 1.): Featureliste
Zu 2.): Ponylon ist eine tolle Sache, jedoch wäre da z.B. eine Delaunay-Triangulation interessant. Die ZFX-Math-Lib moöchte für einen Polygonzug einige Problemlösungen anbieten. Analytische Lösungen sind z.B. in der Simulationspraxis nicht so gefragt (zumindest kann ich das aus der FE-Welt sagen).
zu 3.): OS lebt natürlich auch vom Benutzer. Dementsprechend wäre es vielleicht praktisch, wenn man z.B. hier im Board an einem kleinen beispiel vortstellt, wie man einzelne Features benutzen kann (z.B. man hat einen geschlossenen Polygonzug, wie kann man nun mittels Delaunay eine Vernetzung generieren bzw. Beipiellösung eines linearen Gleichungssystemes etc.). So bekäme der jeweilige Autor des Codes einige Hinweise, Feedback und ggf. auhch noch Feature-Requests.

MfG Kimmi

1 Mal gendert, zuletzt am 15.12.2005, 14:24:45 Uhr von Kimmi.
15.12.2005, 14:22:54 Uhr
Kurzer Weblog
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
@Kimmi:
Du willst mich nicht grade veralbern, oder?
Ich rede von Polynomen. Polynome sind Funktionen der Form f(x)=a0+a1x+a2x^2+...+anx^n
Mit deren Implementierung erhoffe ich, Kurven annähern und dann einfacher integrieren zu können (unter anderem).

Die Idee mit den Beispielen finde ich gut. Für meine Datei ComplexN.h schreibe ich bereits an einer erklärenden HTML-Datei, die auch Code-Beispiele enthalten soll. Ich muss die Sachen, die ich progge ja eh selber testen, dann kann ich die Sachen ja auch anschließend in ne HTML-Datei einfügen.

Was ist ein Ponylon?
Zitat:
Ponylon ist eine tolle Sache
15.12.2005, 14:47:25 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
Entschuldigung, ich hatte mich verlesen. Ich ging von einem Polygon aus. Ein Ponylon ist ein Polygon mit einem Typo .
Polygonfunktionen wie die besagten Vernetzungsalgos sind aber auch recht interessant.
Polynome z.B. für Näherungslösungen sind auf jeden Fall interessant.

MfG Kimmi
15.12.2005, 14:52:28 Uhr
Kurzer Weblog
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Ich kenn mich leider mit Polygonen nicht aus. Aber das mit Polynomen will ich halt mal in Angriff nehmen
Müsste irgendwie mehr Leute geben, die sich an der MathLib beteiligen. Es gäbe so viel zu tun.

Ich würde mich auch für die Implementierung von physikalischen Problemen interessieren, z. B. FEM Simulationen (meintest du nicht, du hättest was mit FE zu tun?) oder mit LCAOMO Verfahren und so weiter, aber dafür braucht man ne Menge Zeit und vor allem ist noch nicht mal n GAUSS Algo in der MathLib (was ich bald ändern werde ), deshalb kann man das z. Zt. noch ziemlich vergessen.
Aber später mal, in nem Jahr oder so...
Ich hab dann auch schon Festigkeitslehre gehört, dann würd ich gern mal was FE machen. Ich fänds cool, wenn Computerspiele sowas live unterstützen würden. Aber das braucht viel zu viel Rechenleistung. Wär aber cool. Noch realistischeres Tuning in Rennspielen oder so.
So, mir ist grad aufgefallen, dass ich ne Physik Übung gehabt hätte, ich geh jetzt zu Werkstoffkunde.
CU
15.12.2005, 15:06:20 Uhr
LiquidAcid Offline
ZFX'ler


Registriert seit:
21.09.2003

Nordrhein-Westfalen
127432520
Re: Komplette MatheBibliothekNach oben.
Ich hatte wirklich nicht vor jemanden zu veralbern, und ich lese auch nicht die ganze Zeit den Thread mit. Aber ich finde es schon verwirrend wenn Sachen so genannt werden, dass die Terminologie ihnen normalerweise andere Eigenschaften zuweist. Das kann zu ziemlich vielen Verwirrungen führen. Wenn du also die Funktionen, wie du sie beschrieben hast, analytisch nennst, dann bekommt irgendjemand das wahrscheinlich in den falschen Hals.

Naja, aber soll mir auch egal sein. Ihr müsst ja wissen was ihr tut.

cya
liquid
15.12.2005, 21:01:59 Uhr
CPP Kniffel
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Du bist lustig. Wie heißen sie denn nun richtig?
15.12.2005, 22:56:44 Uhr
LiquidAcid Offline
ZFX'ler


Registriert seit:
21.09.2003

Nordrhein-Westfalen
127432520
Re: Komplette MatheBibliothekNach oben.
Bei deiner schwammigen Definition kannst das eh vergessen. exp(-1/x^2) ist zB auch nicht analytisch (ausser in 0 vielleicht), da passt dein Beispiel mit der Exponentialfunktion nicht mehr. Eventuell meinst du ja sowas wie die Sinus-Integralfunktion. Ich würde das mehr in Richtung implizite Funktion laufen lassen, aber das ist wahrscheinlich auch nicht die richtige Beschreibung.

Wobei ich gerade sehe, die Sinus-Integralfunktion ist eine ganze Funktion (komplex differenzierbar für alle z aus C) und kann nach Wolfram Research auch mit den Bessel-Funktionen dargestellt werden (nach deiner Definition wär sie damit analystisch).

Bedenke dabei nur, du willst ja darauf hinaus, dass man die Funktion "irgendwie mathematisch aufschreiben" kann. Aber selbst die exp-Funktion ist nur eine Kurzschreibweise für eine unendliche Reihe (überall konvergent), wenn man 'korrekt' vorgehen wollte, dann müsste man die exp-Funktion auch ausschreiben und das ist aber nicht möglich (da Speicherplatz begrenzt).
Das ist halt der Crux an der Sache, ich glaube nämlich nicht, dass du eine so strike Trennung wie du vorhast hinbekommen wirst. Nicht wenn du dich nicht sehr einschränkst (und davon sehe ich momentan nicht gerade viel).

cya
liquid
16.12.2005, 00:36:20 Uhr
CPP Kniffel
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Ich möchte die ComplexN.h gern in einer HTML-Datei dokumentieren. Wo kann ich das Dokument hochladen?
17.12.2005, 15:37:24 Uhr
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Und noch was:
Die MxN Matrizen wurden um elementare Zeilenumformungen erweitert, die für einen Gauss-Algorithmus notwendig sind (der kommt später).
Probiert mal folgenden Code aus:

Code:
#include 

#include \"..\VectorN.h\"
#include \"..\MatrixMxN.h\"

using std::cout;
using std::endl;

typedef ZFXMath::TVectorN<5, double> Vektor;
typedef ZFXMath::TMatrixMxN<5, 5, double> Matrix;

int main(int argc, char* argv[])
{
    
    Matrix A;
    A = 3.0f;
    cout << \"Matrix A : \" << endl;
    cout << A;
    cout << \"Es folgt der 2. Zeilenvektor: \" << endl;
    cout << A.GetRow(1);
    cout << \"Matrix A : \" << endl;
    A.ScaleRow(1, 2.0f);
    cout << A;
    cout << \"Es folgt der 2. Zeilenvektor: \" << endl;
    cout << A.GetRow(1);
    A.AddScaledRow(3, 4, 0.5f);
    cout << \"Matrix A : \" << endl;
    cout << A;

    system(\"PAUSE\");
    return 0;
}
17.12.2005, 17:01:56 Uhr
xcvb Offline
ZFX'ler


Registriert seit:
09.06.2002

Deutschland
Re: Komplette MatheBibliothekNach oben.
So, obwohl ich meine Seminare jetzt hinter mir habe, wird es vorläufig noch nichts mit meiner Mitarbeit. Hab für Januar schon eine neue (bezahlte) Aufgabe (ein Buch 'verlagsfertig' machen). Das wird bis mindestens Mitte Februar meine Zeit in Anspruch nehmen. Dann hoffe ich aber mal einen Monat investieren zu können.

Dabei wollte ich vornehmlich was im Bereich Anfangswertprobleme gewöhnlicher Dgl. machen (Ein- und Mehrschrittverfahren). Lösen linearer Gleichungssysteme wäre auch möglich, wobei ich dann schon gerne auf schwachbesetzte Matritzen zurückgreifen würde. Alternativ wäre auch das Lösen nichtlinearer Gleichungssysteme nützlich für einige implizite Verfahren.

Ich werde versuchen ein wenig auf dem Laufenden zu bleiben. Und wenn ich mich Mitte Februar nicht melde kann es sicher nicht schaden, wenn mir jemand eine Erinnerungsmail schickt.

Gruß Johannes
19.12.2005, 17:43:02 Uhr
Linksammlung
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Ich wollt eigentlich inverse Matrizen mittels Gauss einbasteln, ist auch bald fertig (fahr allerdings freitag in Urlaub). Damit kann man natürlich auch GLS lösen. Wenn man noch für schwach besetzte Matrizen numerische Methoden einbauen möchte: gerne. Ich hab aber auch noch 2 Problemchen, wär schön, wenn einer was dazu schreibt:
- Gibts bei cout n Tabulator?
- Kann man für Matrizen und Vektoren auch n einlese Operator machen (>>)?
20.12.2005, 14:34:46 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
Zu 1.:ja (im Notfall einfach endl)
Zu 2.: Ich verweise auf WinTraglast... (sieht Projekte auf meiner Seite).

MfG Kimmi
20.12.2005, 15:26:14 Uhr
Kurzer Weblog
Mr.DX Offline
ZFX'ler


Registriert seit:
01.08.2002

Bayern
297101048
Re: Komplette MatheBibliothekNach oben.
endl ist Tabulator? Für mich ist das ne neue Zeile.
Ich verwende immer \t, das funktioniert ganz gut.
20.12.2005, 17:07:06 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
Habe nur das n gesehen, sorry. Ich benutze auch \t.

MfG Kimmi
20.12.2005, 17:12:55 Uhr
Kurzer Weblog
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Ich dachte das ginge nur bei printf();
@Kimmi: OK, was ist WinTraglast? Find ich das auf deiner HP?
Interessant wäre auch, wenn wer mal Anstalten machen könnte, unter Windows ne GUI für die MathLib zu proggen, dann könnte da mal n Derive Abklatsch draus entstehen.
20.12.2005, 18:07:03 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Komplette MatheBibliothekNach oben.
@Wassja: WinTraglast ist mein altes Diplomprojekt, habe das ganze unter der GPL veröffentlicht:
https://sourceforge.net/projects/traglast/

Dort findest du SaveVector:
Code:
BOOL Vektor::SaveVektor(const char *lpSaveName, int iAnz)
{
    double    *pWork = pVektor;
    int        iI;

    ofstream Datei(lpSaveName);

    if (!Datei)
        return FALSE;
    else {
        if (iAnz==0)
            Datei << 0;
        else {
            for (iI=0; iIreturn TRUE;
    }
}

und LoadVector:
Code:
BOOL Vektor::LoadVektor(const char *lpLoadName)
{
    int iW;
    double dW;

    ifstream datei(lpLoadName);

    if (!datei)
        return FALSE;

    datei >> iW;
    if (iW>0) {
        for (int iI1=1; iI1<=iW; iI1++) {
            datei >> iW;
            datei >> dW;
            addVektor(dW);
        }
    }
    datei.close();

    return TRUE;
}

Das sollte man recht schnell in einen eigenen Vector << Operator einbauen können.

In WinTraglast ist auch ein Quolescy für symmetrsiche Bandmatrixen gespeichert, jedoch ist die Lösung nihct ganz so schnell. War mein erstes C++ Projekt...

MfG Kimmi


1 Mal gendert, zuletzt am 20.12.2005, 18:14:43 Uhr von Kimmi.
20.12.2005, 18:14:33 Uhr
Kurzer Weblog
oese Offline
ZFX'ler


Registriert seit:
13.04.2004

Bayern
257965619
Re: Komplette MatheBibliothekNach oben.
hi leute, ich wollt mal was ganz generelles zu den matritzen und vektoren fragen:

bis jetzt verwenden wir zeilenvektoren, aber so weit ich weiß, wenn ich mich irre verbessert mich bitte, werden diese nur von der d3d fixed function pipeline benutzt, sowohl shader als auch open gl verwenden spaltenvektoren, auch in der mathematik ist das ja die verbreitetere darstellung.

da ich eh noch was mit den matritzen machen wollt, z.b. die TMatrix4x4 und die transformation von TVectorN mit TMatrixMxN, fänd ich des mal wichtig zu klären

Code:
Zeilenvektoren:

          |a b c|        
[x y z] * |d e f| = [u v w]
          |g h i|

Spaltenvektoren:

|a b c|   |x|   |u|
|d e f| * |y| = |v|
|g h i|   |z|   |w|
20.12.2005, 22:07:12 Uhr
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: Komplette MatheBibliothekNach oben.
das das eine definitionsache ist sollten beide vektoren-richtungen von den matrizen getter und setter haben.
20.12.2005, 22:11:18 Uhr
DirectX 10
oese Offline
ZFX'ler


Registriert seit:
13.04.2004

Bayern
257965619
Re: Komplette MatheBibliothekNach oben.
meine frage bezieht sich hauptsächlich auf die multiplikation.
wenn man die für beide richtungen definiert, v*m und m*v kann man das leicht verwechseln, oder?
meiner meinung nach sollte die multiplikation und die erstellung von berstimmten matritzen, z.b. translation oder rotation, auf spaltenvektoren ausgelegt sein
20.12.2005, 22:37:17 Uhr
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Ich hab mal ne Frage zur Initialisierung der MatrixMxN Klasse:
Ich möchte einer 5x5 Matrix jetzt einige Werte zuweisen. Das mache ich bisher folgendermaßen:
Code:
Matrix A;
    double Wert[25] =    {3.0f, 5.0f, 2.0f, 5.0f, 4.0f, 
                        5.0f, 6.0f, 5.0f, 3.0f, 5.0f, 
                        2.0f, 5.0f, 4.0f, 5.0f, 6.0f, 
                        5.0f, 3.0f, 5.0f, 2.0f, 5.0f, 
                        4.0f, 5.0f, 6.0f, 5.0f, 2.0f};
    A = Wert;
    cout << \"Matrix A : \" << endl;
    cout << A;

Da kommt aber nicht das raus, was ich eingegeben habe. Offenbar mache ich also was falsch. Könnt ihr mir sagen, was ich da machen muss?
20.12.2005, 22:37:18 Uhr
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: Komplette MatheBibliothekNach oben.
@oese
achso jetzt verstehe ich was du meinst.
da hast du dantürlich recht, aber im grunde kann man matrizen immer transponieren, oder generell vertauscht miteinander multiplizieren. so gibt es immer verwechslungsmöglichkeiten. das sollte uns aber nicht davon abhalten beide wege möglich zu machen.
20.12.2005, 22:42:30 Uhr
DirectX 10
oese Offline
ZFX'ler


Registriert seit:
13.04.2004

Bayern
257965619
Re: Komplette MatheBibliothekNach oben.
ja, beide wege einzubauen ist o.k.
wenn niemand was dagegen hat, schreib ich die TMatrix3x3 mal entsprechend um, dann eben mit alternativen Methoden für Zeilenvektoren, z.B.
TranslationLn oder so...
20.12.2005, 22:53:53 Uhr
Wassja Offline
ZFX'ler


Registriert seit:
24.01.2005

Nordrhein-Westfalen
Re: Komplette MatheBibliothekNach oben.
Fällt euch nichts ein zu meinem Problem?
20.12.2005, 23:10:50 Uhr
Richard Schubert Offline
DX-Berater


Registriert seit:
05.12.2002

Berlin
85557876 rs@directx9.de
Re: Komplette MatheBibliothekNach oben.
ja das wird nicht leicht mit der namesgebung.
für die rotation würde das ja ebenfalls bedeuten die komponenten vertauschen zu müssen. vielleicht sollten wir doch über eine makrogesteuerte alternative nachdenken wie es in HLSL möglich ist. so kann man sich zur compilezeit entscheiden welche der beiden typen man will. das sollte eigentlich jedem ausreichen, da ein wechsel zur laufzeit kaum sinn macht. ansonsten gibt es ja noch transpose.


@wassja: entweder ist dann der konstruktor nicht korrekt oder der shiftoperator nicht richtig überladen.
20.12.2005, 23:15:25 Uhr
DirectX 10
GepinntSeite: < 1 2 3 4 5 . . . a 17 18 19 20 21 >


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel