<?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[Matrizenmultiplikation]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>bin gerade an meiner Diplomarbeit am Tüfteln (Wirtschafsmathe) und muss nun nen Code in C++ schreiben (mithilfe Numerical Recipes und so).</p>
<p>Dafür muss ich nun ne Matrizenmultiplikationsfunktion schreiben. Aber irgendwie gibt die mir mit g=(-10,-10,-10)* G=2* (Einheitsmatrix(3)) anstatt -20 -20 -20<br />
-5 -5 -5 aus...<br />
Naja,ich poste mal den Code:</p>
<pre><code class="language-cpp">MatDoub MM(MatDoub lhs,MatDoub rhs)
    {int lhsrow,lhscol,rhsrow,rhscol,a=0;
    lhsrow=lhs.nrows();
    lhscol=lhs.ncols();
    rhsrow=rhs.nrows();
    rhscol=rhs.ncols();    
    if (lhscol!=rhsrow)
    {cout&lt;&lt;&quot;Matrixmultiplikation nicht möglich!\n&quot;;}
    MatDoub Ergebnis(lhsrow,rhscol,a);
    for (int i=0;i&lt;lhsrow;i++)
    {    for (int j=0;j&lt;rhscol;j++)
         {     for (int k=0;k&lt;lhscol;k++)
               {   Ergebnis[i][j]+=lhs[i][k]*rhs[k][j];
               }               
         }     
    }      
    return Ergebnis;
    }
</code></pre>
<p>Dabei bezeichnen MatDoub eine Matrix mit Doubleeinträgen und nrows() ist die Funktion für die Zeilen bzw. Spalten.<br />
Edit: Der Konstruktor macht ne Matrix mit nur Nullen =a.<br />
Warum kommt da nur die Hälfte raus? Hab den Code auch nach VBA gemacht und verglichen - da passts!</p>
<p>Ich hoffe, ihr könnt mir helfen...</p>
<p>Machs gut,<br />
Noah</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/245446/matrizenmultiplikation</link><generator>RSS for Node</generator><lastBuildDate>Fri, 18 Sep 2026 17:32:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/245446.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Jul 2009 12:02:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Matrizenmultiplikation on Tue, 14 Jul 2009 12:10:41 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>bin gerade an meiner Diplomarbeit am Tüfteln (Wirtschafsmathe) und muss nun nen Code in C++ schreiben (mithilfe Numerical Recipes und so).</p>
<p>Dafür muss ich nun ne Matrizenmultiplikationsfunktion schreiben. Aber irgendwie gibt die mir mit g=(-10,-10,-10)* G=2* (Einheitsmatrix(3)) anstatt -20 -20 -20<br />
-5 -5 -5 aus...<br />
Naja,ich poste mal den Code:</p>
<pre><code class="language-cpp">MatDoub MM(MatDoub lhs,MatDoub rhs)
    {int lhsrow,lhscol,rhsrow,rhscol,a=0;
    lhsrow=lhs.nrows();
    lhscol=lhs.ncols();
    rhsrow=rhs.nrows();
    rhscol=rhs.ncols();    
    if (lhscol!=rhsrow)
    {cout&lt;&lt;&quot;Matrixmultiplikation nicht möglich!\n&quot;;}
    MatDoub Ergebnis(lhsrow,rhscol,a);
    for (int i=0;i&lt;lhsrow;i++)
    {    for (int j=0;j&lt;rhscol;j++)
         {     for (int k=0;k&lt;lhscol;k++)
               {   Ergebnis[i][j]+=lhs[i][k]*rhs[k][j];
               }               
         }     
    }      
    return Ergebnis;
    }
</code></pre>
<p>Dabei bezeichnen MatDoub eine Matrix mit Doubleeinträgen und nrows() ist die Funktion für die Zeilen bzw. Spalten.<br />
Edit: Der Konstruktor macht ne Matrix mit nur Nullen =a.<br />
Warum kommt da nur die Hälfte raus? Hab den Code auch nach VBA gemacht und verglichen - da passts!</p>
<p>Ich hoffe, ihr könnt mir helfen...</p>
<p>Machs gut,<br />
Noah</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742713</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742713</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Tue, 14 Jul 2009 12:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to Matrizenmultiplikation on Tue, 14 Jul 2009 12:13:51 GMT]]></title><description><![CDATA[<p>Hat sich erledigt... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Habe die Matrix irgendwie vorher auf 0.5 und so geändert gehabt...</p>
<p>Naja, guten Tag noch!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742727</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742727</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Tue, 14 Jul 2009 12:13:51 GMT</pubDate></item><item><title><![CDATA[Reply to Matrizenmultiplikation on Tue, 14 Jul 2009 12:41:16 GMT]]></title><description><![CDATA[<p>Noah schrieb:</p>
<blockquote>
<p>geändert <strong>gehabt</strong>...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742748</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742748</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 14 Jul 2009 12:41:16 GMT</pubDate></item><item><title><![CDATA[Reply to Matrizenmultiplikation on Tue, 14 Jul 2009 12:43:27 GMT]]></title><description><![CDATA[<p>Ein paar Anmerkung hätte ich noch:</p>
<p>Noah schrieb:</p>
<blockquote>
<pre><code class="language-cpp">MatDoub MM(MatDoub lhs,MatDoub rhs)
</code></pre>
</blockquote>
<p>Nimm hier die Parameter als ref-to-const ( <code>MatDoub const&amp; lhs</code> ,...)</p>
<p>Noah schrieb:</p>
<blockquote>
<pre><code class="language-cpp">int lhsrow,lhscol,rhsrow,rhscol,a=0;
    lhsrow=lhs.nrows();
    lhscol=lhs.ncols();
    rhsrow=rhs.nrows();
    rhscol=rhs.ncols();
</code></pre>
</blockquote>
<p>Warum nicht gleich initialisieren? Die Variable a ist auch irgendwie sinnlos. Fängst Du auch den Fall lhscol!=rhsrow ab?</p>
<pre><code class="language-cpp">int n1 = lhs.nrows();
    int n2 = lhs.ncols();
    int n3 = rhs.ncols();
    if (n2!=rhs.nrows()) throw std::runtime_error(&quot;wtf?!&quot;);
</code></pre>
<p>Noah schrieb:</p>
<blockquote>
<pre><code class="language-cpp">for (int i=0;i&lt;lhsrow;i++)
    {    for (int j=0;j&lt;rhscol;j++)
         {     for (int k=0;k&lt;lhscol;k++)
               {   Ergebnis[i][j]+=lhs[i][k]*rhs[k][j];
</code></pre>
</blockquote>
<p>Hier würde ich noch eine Variable &quot;tmp&quot; einfügen und mit Null initialisieren, &quot;tmp += ...&quot; schreiben und das Ergebniss dann nach &quot;Ergebnis[i][j]&quot; reinschreiben. Je nachdem, wie Du operator[] implementiert hast, könnte überflüssig Zeit kosten, immer eine Referenz auf dasselbe Objekt zu holen.</p>
<p>Gruß,<br />
SP</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742751</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Tue, 14 Jul 2009 12:43:27 GMT</pubDate></item><item><title><![CDATA[Reply to Matrizenmultiplikation on Tue, 14 Jul 2009 12:58:29 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Noah schrieb:</p>
<blockquote>
<p>geändert <strong>gehabt</strong>...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
</blockquote>
<p>Das würd ich noch als Dialekt anerkennen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742763</guid><dc:creator><![CDATA[Sebastian Pizer]]></dc:creator><pubDate>Tue, 14 Jul 2009 12:58:29 GMT</pubDate></item><item><title><![CDATA[Reply to Matrizenmultiplikation on Tue, 14 Jul 2009 13:39:32 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Noah schrieb:</p>
<blockquote>
<p>geändert <strong>gehabt</strong>...</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
</blockquote>
<p>rheinisches perfekt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742795</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Tue, 14 Jul 2009 13:39:32 GMT</pubDate></item><item><title><![CDATA[Reply to Matrizenmultiplikation on Tue, 14 Jul 2009 16:33:51 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Jo,Rheinland mit Ruhrpottflavour...</p>
<p>Danke für die Tipps, werde ich in die Tat umsetzen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1742933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1742933</guid><dc:creator><![CDATA[Noah]]></dc:creator><pubDate>Tue, 14 Jul 2009 16:33:51 GMT</pubDate></item></channel></rss>