<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Wie Optimiere ich beim Matrix_berechnen?]]></title><description><![CDATA[<p>Hallo alle,</p>
<p>ich habe ein Matlab Programm zu einen c++ Programm portiert(Berechnen den GPS_Koordinaten). Im beiden Programmen sollen Matrix2D bzw. Matrix3D berechnet werden.</p>
<p>Beispielweise:<br />
1. int_Zahlen * Matrix2D[a][b]<br />
2. Inhalte von einem Matrix2D zu anderem kopieren: Matrix2D[a][b] -&gt;Matrix2D_copie[a][b]<br />
3. Matrix3D[i][m][n] * Matrix3D[i][m][n]<br />
4. Matrix2D[m][n] + Matrix3D[i][m][n]</p>
<p>Alle Berechnen sind durch for_schleife bzw. verschachtelte for_schleife realisiert.<br />
Das Problem ist, dass bei gleichen InputDaten MatLab Programm deutlich schneller als C++ Programm ist(ca. 1.6sec to 2.0sec).<br />
Normalweise sollen c bzw. c++ Programme viel schneller sein.</p>
<p>Meine Frage ist, gibt es irgendwelche Methoden oder Bibliotheken, mit dem lassen das c++ Programm schneller laufen.</p>
<p>Vielen Dank im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/213125/wie-optimiere-ich-beim-matrix_berechnen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 13 Oct 2026 17:31:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/213125.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 14 May 2008 13:22:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Wed, 14 May 2008 13:22:24 GMT]]></title><description><![CDATA[<p>Hallo alle,</p>
<p>ich habe ein Matlab Programm zu einen c++ Programm portiert(Berechnen den GPS_Koordinaten). Im beiden Programmen sollen Matrix2D bzw. Matrix3D berechnet werden.</p>
<p>Beispielweise:<br />
1. int_Zahlen * Matrix2D[a][b]<br />
2. Inhalte von einem Matrix2D zu anderem kopieren: Matrix2D[a][b] -&gt;Matrix2D_copie[a][b]<br />
3. Matrix3D[i][m][n] * Matrix3D[i][m][n]<br />
4. Matrix2D[m][n] + Matrix3D[i][m][n]</p>
<p>Alle Berechnen sind durch for_schleife bzw. verschachtelte for_schleife realisiert.<br />
Das Problem ist, dass bei gleichen InputDaten MatLab Programm deutlich schneller als C++ Programm ist(ca. 1.6sec to 2.0sec).<br />
Normalweise sollen c bzw. c++ Programme viel schneller sein.</p>
<p>Meine Frage ist, gibt es irgendwelche Methoden oder Bibliotheken, mit dem lassen das c++ Programm schneller laufen.</p>
<p>Vielen Dank im voraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508866</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508866</guid><dc:creator><![CDATA[rena]]></dc:creator><pubDate>Wed, 14 May 2008 13:22:24 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Wed, 14 May 2008 13:42:30 GMT]]></title><description><![CDATA[<p>Ich denke, dass Matlab so weit optimiert ist, dass das keine Rolle mehr spielt.</p>
<p>Du kannst ja mal ein paar Math libs testen und schauen, ob die schnellere Berechnungen liefern.</p>
<p>Such mal nach BLAS, VXL und Matrix Template Library 4.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508883</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 14 May 2008 13:42:30 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Wed, 14 May 2008 14:22:41 GMT]]></title><description><![CDATA[<p>Zu Deinen Punkten:<br />
1. sequentieller Zugriff auf die Elemente statt verschachtelte Schleife. Matrix auf 1D-Array abbilden.<br />
2. std::copy bzw. std::memcpy<br />
3. evtl. <a href="http://mathworld.wolfram.com/StrassenFormulas.html" rel="nofollow">Strassen-Multiplikation</a> oder was vergleichbares, was die Ordnung des Problems drückt.<br />
4. keine Ahnung was für eine Operation das sein soll</p>
<p>Dann könntest Du Dir mal boost::ublas, blitz++ usw. anschauen. Du solltest auch die Namensgebung von Matrix2D und Matrix3D überdenken, falls diese das machen, was ich vermute. Soll Matrix3D ein Tensor der Stufe 3 sein und Matrix einer der Stufe 2 oder bezieht sich 2D/3D auf die Dimensionen der Matrizen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1508916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1508916</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Wed, 14 May 2008 14:22:41 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Wed, 14 May 2008 17:50:18 GMT]]></title><description><![CDATA[<p>Du wirst Matlab niemals schlagen, denn Matlab kompiliert das Matlab-Programm zumindest teilweise und ihre Mathe-Operationen sind extrem optimiert (ganz besonders Matrizenoperationen). Ich rate dir einfach eine fertige Bibliothek wie ATLAS zu benutzen.</p>
<p>Und dein Programm ist hauptsächlich deshalb langsamer weil du durch deine Art der Berechnung den Cache nicht nutzt (und wahrscheinlich noch nicht einmal weißt wie C++ intern ein 2dimensionales Array abspeichert).</p>
<p>Also nochmal: überlass das Schreiben von Mathefunktionen den Profis und begnüg dich damit diese einfach nur einzusetzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1509062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1509062</guid><dc:creator><![CDATA[Tippgeber]]></dc:creator><pubDate>Wed, 14 May 2008 17:50:18 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Fri, 16 May 2008 12:12:04 GMT]]></title><description><![CDATA[<p>hi,</p>
<p>nen bisselspät gelesen...matlab ist wirklich nicht das schnellste. ich hatte mal einen performance test geamcht und Matrix TCL war ca. 7 mal schneller als matlab:</p>
<p><a href="http://www.techsoftpl.com/matrix/download.htm" rel="nofollow">http://www.techsoftpl.com/matrix/download.htm</a></p>
<p>ist vorallem auch extrem leicht zuimplementieren (nur eine header datei!)</p>
<p>--&gt; solltest aber von hand die maximale größe der matrizen anpassen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510439</guid><dc:creator><![CDATA[shorie77]]></dc:creator><pubDate>Fri, 16 May 2008 12:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Fri, 16 May 2008 13:55:22 GMT]]></title><description><![CDATA[<p>Wie hast Du das gemessen und vor allem anhand welcher Operationen. Matlab ist sicher langsamer als ein von Hand optimierter Code, allerdings ist der Faktor 7 so als Pauschalaussage unglaubwürdig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1510516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1510516</guid><dc:creator><![CDATA[Walli]]></dc:creator><pubDate>Fri, 16 May 2008 13:55:22 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Mon, 19 May 2008 07:16:16 GMT]]></title><description><![CDATA[<p>also ich habe einfach die Tickdifferenz als zeitmessung benutzt und bei matlab den profiler</p>
<p>also ich habe 3 matrizen (von 100x100 bis 7500x7500) erstellt und 2 Matrizen dann mit for schleifen an jeder Stelle gefüllt. Ich habe auch für matlab schon extra die matrizen mit zeros erstellt (jeder der matlab benutzt weiß das dies deutlich schneller ist). der faktor 7 zieht sich konsequent durch die messung. (Matrizen operationen habe ich nicht getestet, da ich diese nicht brauche - aber ich habe das gerade mal für ne 500x500 gestestet - Matlab ist da aufjedenfall schneller wenn es um Matrizen Multiplikation geht!!!)</p>
<p>der faktor sieben bezog sich aber nur auf die MATRIX TCL, so schnell war sonst keine.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1511955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1511955</guid><dc:creator><![CDATA[shorie77]]></dc:creator><pubDate>Mon, 19 May 2008 07:16:16 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Mon, 19 May 2008 10:54:43 GMT]]></title><description><![CDATA[<p>Man könnte auch mit Expression Templates und PETE optimieren. Hier ein paar Links dazu...</p>
<p><a href="http://acts.nersc.gov/pete/" rel="nofollow">PETE Beschreibung + Tutorial</a><br />
<a href="http://www.codesourcery.com/pooma/download.html" rel="nofollow">PETE + POOMA + Download</a></p>
<p>Gruß<br />
Tobi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1512135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1512135</guid><dc:creator><![CDATA[Tobias Gerg]]></dc:creator><pubDate>Mon, 19 May 2008 10:54:43 GMT</pubDate></item><item><title><![CDATA[Reply to Wie Optimiere ich beim Matrix_berechnen? on Mon, 19 May 2008 13:10:14 GMT]]></title><description><![CDATA[<p>Dankeschön für die Antwort.<br />
Ich werde die Vorschläge ausprobieren und dann sage euch das od. die Ergbnis.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1512268</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1512268</guid><dc:creator><![CDATA[rena]]></dc:creator><pubDate>Mon, 19 May 2008 13:10:14 GMT</pubDate></item></channel></rss>