<?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[speichern von eigen-matrizen unterschiedlicher länge]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe eine funktion, die mir in abhängigkeit eines übergabeparameters eine (fest definierte) eigen-matrix zurück gibt.<br />
diese verwalte ich momentan über eine switch-case anweisung.<br />
da die matrizen (bestehend aus int) zum teil recht groß sind und ich immer ein break für jeden case benötige, wird das schnell unübersichtlich.<br />
gibt es hierfür eine bessere oder elegantere lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/324159/speichern-von-eigen-matrizen-unterschiedlicher-länge</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 14:54:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324159.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Mar 2014 12:35:27 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Wed, 05 Mar 2014 12:35:27 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich habe eine funktion, die mir in abhängigkeit eines übergabeparameters eine (fest definierte) eigen-matrix zurück gibt.<br />
diese verwalte ich momentan über eine switch-case anweisung.<br />
da die matrizen (bestehend aus int) zum teil recht groß sind und ich immer ein break für jeden case benötige, wird das schnell unübersichtlich.<br />
gibt es hierfür eine bessere oder elegantere lösung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2386793</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386793</guid><dc:creator><![CDATA[smdy]]></dc:creator><pubDate>Wed, 05 Mar 2014 12:35:27 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Wed, 05 Mar 2014 13:09:04 GMT]]></title><description><![CDATA[<p>Kannst du bitte einen Auszug aus der Funktion als auch Signatur posten! Oder besser: ein Onlineportal wie <a href="http://ideone.com" rel="nofollow">ideone.com</a> nutzen um den Code zur Ansicht bereitzustellen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2386808</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386808</guid><dc:creator><![CDATA[knivil]]></dc:creator><pubDate>Wed, 05 Mar 2014 13:09:04 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Wed, 05 Mar 2014 13:35:57 GMT]]></title><description><![CDATA[<p>klar, kein problem.</p>
<pre><code>eigen::matrix GetMatrix(const int _numdim)
{
    eigen::matrix pre_def = eigen::matrix(_numdim);
    switch(_numdim)
    {
        ....
        case  6:{pre_def &lt;&lt; 52,26,13,38,19,41;break;}
        case  7:{pre_def &lt;&lt; 14,67,37,104,25,84,50;break;}
        case  8:{pre_def &lt;&lt; 292,146,73,448,56,7,273,98;break;}
        ....
    }
    return pre_def;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2386818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386818</guid><dc:creator><![CDATA[smdy]]></dc:creator><pubDate>Wed, 05 Mar 2014 13:35:57 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Wed, 05 Mar 2014 13:50:23 GMT]]></title><description><![CDATA[<p>Woher kommen die Zahlen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2386823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386823</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 05 Mar 2014 13:50:23 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Wed, 05 Mar 2014 13:51:49 GMT]]></title><description><![CDATA[<p>die sind von mir so festgelegt worden</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2386825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386825</guid><dc:creator><![CDATA[smdy]]></dc:creator><pubDate>Wed, 05 Mar 2014 13:51:49 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Wed, 05 Mar 2014 14:14:44 GMT]]></title><description><![CDATA[<p>smdy schrieb:</p>
<blockquote>
<p>die sind von mir so festgelegt worden</p>
</blockquote>
<p>Wenn das halt Daten sind, die irgendwie aus dem Nichts kommen, dann kommen die im Programm eben auch irgendwo aus dem Nichts. Großartig schöner geht das nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2386835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386835</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 05 Mar 2014 14:14:44 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Wed, 05 Mar 2014 14:22:11 GMT]]></title><description><![CDATA[<p>Du könntest wenigstens eine Funktion die etwa so aussieht:</p>
<pre><code>std::vector&lt;int&gt; createData(int n)
{
	if ( n == 1 )
		return std::vector&lt;int&gt;({24, 25, 4, 23, 2314});
	if ( n == 5 )
		return std::vector&lt;int&gt;({24, 25, 21342, 0, 2424, 23, 2314});
	if ( n == 6 )
		return std::vector&lt;int&gt;({24, 25, 4, 23, 9823, 12, 2378, 33, 2314});
	// ...
}
</code></pre>
<p>Das die Daten halt nicht einfach so als Magic Numbers da stehen. (Ist aber immer noch alles andere als schön und flexibel)</p>
<p>Die Frage ist aber eher, was sind das für Daten und woher hast du sie dann?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2386836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2386836</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 05 Mar 2014 14:22:11 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 06:51:10 GMT]]></title><description><![CDATA[<p>erstmal danke für die Antworten!</p>
<p>Das sind binär-codes, die als int verschlüsselt sind. Wieso ist es so wichtig, wo die daten herkommen??</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2387966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2387966</guid><dc:creator><![CDATA[HoCiEp3]]></dc:creator><pubDate>Mon, 10 Mar 2014 06:51:10 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 11:07:31 GMT]]></title><description><![CDATA[<p>HoCiEp3 schrieb:</p>
<blockquote>
<p>Wieso ist es so wichtig, wo die daten herkommen??</p>
</blockquote>
<p>Die Berechnungsfunktion wird erfahrungsgemäß oft sehr viel kompakter und übersichtlicher sein als eine große Tabelle mit den Ergebnissen. Daher liegt es nahe, diese Daten nicht fest ins Programm zu codieren, sondern zu berechnen. Sei es zur Laufzeit (mag zwar ein paar Takte am Anfang des Programms verschwenden, aber wen interessiert das schon?) oder zur Compilezeit (Templatemetaprogrammierung - ist aber kein ganz einfaches Thema).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388005</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388005</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 10 Mar 2014 11:07:31 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 13:06:37 GMT]]></title><description><![CDATA[<p>Ah, ich verstehe.</p>
<p>leider will ich genau damit die Berechnungsfunktion umgehen.<br />
da sie sehr lange rechnet, ist es deutlich schneller, das Ergebnis zu speichern!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388029</guid><dc:creator><![CDATA[HoCiEp3]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:06:37 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 13:18:44 GMT]]></title><description><![CDATA[<blockquote>
<p>da sie sehr lange rechnet, ist es deutlich schneller, das Ergebnis zu speichern!</p>
</blockquote>
<p>Kann ich mir ehrlich gesagt nur schwer vorstellen. Was sind das denn für komplexe Berechnungen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388033</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388033</guid><dc:creator><![CDATA[DarkShadow44]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:18:44 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 13:26:05 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/21588">@HoCiEp3</a>: Sag einfach die Daten sollen aus einer csv-Datei eingelesen werden, das reicht als Angabe der Herkunft der Daten und man kann damit ein ordentliches Programm basteln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388035</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388035</guid><dc:creator><![CDATA[nwp3]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:26:05 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 13:38:21 GMT]]></title><description><![CDATA[<p>DarkShadow44 schrieb:</p>
<blockquote>
<blockquote>
<p>da sie sehr lange rechnet, ist es deutlich schneller, das Ergebnis zu speichern!</p>
</blockquote>
<p>Kann ich mir ehrlich gesagt nur schwer vorstellen. Was sind das denn für komplexe Berechnungen ?</p>
</blockquote>
<p>Ist aber (leider) so. ist ein Optimierungsalgorithmus, der die beste kombination aus tausenden von möglichkeiten sucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388037</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388037</guid><dc:creator><![CDATA[HoCiEp3]]></dc:creator><pubDate>Mon, 10 Mar 2014 13:38:21 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 18:00:41 GMT]]></title><description><![CDATA[<p>NP hartes Problem ist NP hart? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>//edit <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18806">@Skym0sh0</a><br />
Deine Code Veränderung hat jetzt aber auch nicht wirklich irgendeine Magic number klarer gemacht. Es ist vielleicht jetzt näher an dem was du schreibst, aber kine Zahl ist wirklich besser erklärt. Man könnte sogar einwenden, dass dein Code weniger klar ist, weil er das switch über mehrere ifs emuliert und dadurch verschleiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388098</guid><dc:creator><![CDATA[otze]]></dc:creator><pubDate>Mon, 10 Mar 2014 18:00:41 GMT</pubDate></item><item><title><![CDATA[Reply to speichern von eigen-matrizen unterschiedlicher länge on Mon, 10 Mar 2014 18:19:40 GMT]]></title><description><![CDATA[<p>Ja, da hast du recht.</p>
<p>Der erste Schritt in solch einem Fall ist aber für mich erstmal, die Initialisierung in eine Funktion zu kapseln. Von außen sieht das dann nicht mehr so &quot;Magic&quot; aus.<br />
Im nächsten Schritt kann das ja durch Datei Auslesen ersetzen oder durch Berechnen.</p>
<p>Auf jedenfall sieht es von außen so aus wie: Ich hole mir ein Array/vector voll von den richtigen Zahlen.<br />
Anstelle von: Mh, ich habe jetzt 10 if's und schiebe je nachdem ein paar Zahlen in mein Array.</p>
<p>Die Schlüsselfrage war ja eh von SeppJ, woher die Daten halt kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2388103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2388103</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Mon, 10 Mar 2014 18:19:40 GMT</pubDate></item></channel></rss>