Mathe-Bibliothek...
-
Hallo Leute,
Kleine Frage an die Cpp-Freunde :
Ich bräuchte Bibliotheken, welche Matrizen (z.B. Invertieren bis ca (20*20))
zur Verfügung stellt, desweiteren Algorithmen zur Nullstellenbestimmung von Polynomen (vielleicht etwas schneller und sicherer als mit Old-Newton??).Danke schon mal im Voraus...
-
Hab grad mal was gecodet...
Ist nicht perfekt... zum invertieren hab ich AFAIK auch mal nen Schnipsel von irgendwoher gepostet... -> Suchfunktion
template<class base> class CMatrix { protected: // Variablen base** m_pMatrix; unsigned m_rows, m_cols; public: // Kontruktor/Destruktor CMatrix() : m_rows(0), m_cols(0), m_pMatrix(0) {} CMatrix(unsigned rows, unsigned cols) { Alloc(rows, cols); } virtual ~CMatrix() { Free(); } // Speichermanagement void Alloc(unsigned rows, unsigned cols){ m_rows = rows; m_cols = cols; m_pMatrix = new base*[m_rows]; for(unsigned i = 0; i < m_rows; ++i) m_pMatrix[i] = new base[m_cols]; } void Realloc(unsigned rows, unsigned cols){ Free(); Alloc(rows, cols); } void Free() { for(unsigned i = 0; i < m_rows; ++i) delete m_pMatrix[i]; delete m_pMatrix; } void Copy(const CMatrix& src) { if(m_rows != src.m_rows || m_cols != src.m_cols) Realloc(src.m_rows, src.m_cols); for(unsigned i = 0; i < src.m_rows; ++i) for(unsigned j = 0; j < src.m_cols; ++j) this->m_pMatrix[i][j] = src.m_pMatrix[i][j]; } // Operatoren base& operator ()(unsigned row, unsigned col) { return m_pMatrix[row][col]; } CMatrix& operator =(const CMatrix& rightOp) { Copy(rightOp); return *this; } };
Naja, vielleicht hilfts dir weiter... Ansonsten hatte ich Spaß...
[ Dieser Beitrag wurde am 12.02.2003 um 20:35 Uhr von MaSTaH editiert. ]
-
Hab grad auch noch nen Link zu Sourcen für Matrizen und Polynome gefunden... Gucks dir einfach mal an: http://mitglied.lycos.de/BJA/code/cpp/
Ist nicht von mir... *copyandpaste* *g*
-
sieht aus wie ausgeschissen:
http://mitglied.lycos.de/BJA/code/cpp/gmvZahlbja.cpp
-
Passt besser in das Rund um die Programmierung Forum.
Thread verschoben. Rund um die Programmierung
-
http://www.gnu.org/software/gsl/ enthält auch Matrizen funktionen
-
Die MTL hat auch Matrizen
-
Original erstellt von <BJA>:
sieht aus wie ausgeschissen:
[url=http://mitglied.lycos.de/BJA/code/cpp/gmvZahlbja.cpp]http://mitglied.lycos.de/BJA/code/cpp/gmvZahlbja.cpp[/QB][/QUOTE][/url]
Ich meinte auch nicht den Code zu der GMV-Zahl, sondern den zu Matrizen und Polynomen. Mit ein bis zwei Stunden Arbeit kann man da was brauchbares draus machen...