<?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[Anfallende Daten verringern :-)]]></title><description><![CDATA[<p>Hallo, ich habe ein kleines Problem mit meinem Programm.<br />
Das Programm soll die Bewegungsgleichung des Fadenpendels &quot;lösen&quot;.<br />
Das Physikalische ist nicht so wichtig denke ich. Auf jeden Fall wird das ganze anhand einer For-Schleife realisiert, mit der über den Zeitraum x integriert wird und zwar anhand der Zeitintervalle dt.<br />
Nun wird von mir in der Aufgabenstellung verlangt, dass ich die unten zu sehenden Daten in eine Datei schreibe und außerdem, dass ich als Zeitschritte dt=0.00001 und Zeitintervall x=100 wähle, was zu 3*10000000 Daten führt, die ich in eine Datei schreiben müsste <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="😞"
    /> (Nicht nur, dass das Berechnen lange dauert, später muss ich den Graphen auch noch mit Gnuplot zeichen lassen und das würde wahrscheinlich nochmal dreimal so lange dauern.)<br />
Naja, nun ist es durchaus möglich, dass ich nur jede 2te oder 10te Zeile überhaupt in die Datei schreibe. Wie ich versucht habe, dass zu realisieren, ist unten zu sehen <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="🙂"
    /><br />
Das Problem, das ich dabei habe, ist , dass n zwar die ersten Male korrekt erhöht wird, aber nach einer gewissen Anzahl von Schritten geht das Programm in die Bedingung, erhöht aber n nicht und somit werden gar keine Werte mehr ausgegeben.<br />
Ich weiß nicht, ob es erwähnenswert ist, aber wenn ich n und t auf float setze, werden allgemein weniger Werte ausgegeben.<br />
Wäre schön, wenn jemand vielleicht eine Lösung für das Problem hätte.<br />
Außerdem konnte ich das Programm noch nicht ordentlich ausführen, darum weiß ich nicht, ob meine Lösung sonderlich Effizient ist. Vielleicht hat jemand eine bessere Lösung?</p>
<p>Achja, falls sich jemand fragt, warum ich nicht einfach dt erhöhe..<br />
Das Problem dahinter ist, dass in manchen Fällen der Fehler zu groß wird und er sich dann so sehr aufschaukelt, dass die Lösung nicht mehr stimmt.</p>
<p>Ich hoffe, mir kann jemand helfen.<br />
Danke schonmal im Voraus <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>
<pre><code class="language-cpp">[code]#include &lt;iostream&gt;
#include &lt;cmath&gt;
#include &lt;fstream&gt;

using namespace std;

int main(){

double phi=(1/180)*3.141592654;
double omega=1;
double dt=0;
double E=0;
double x=0;
double n=0;
double t=0;

fstream f;
f.open(&quot;pendel.dat&quot;, ios::out);

cout &lt;&lt; &quot;Obere Grenze?&quot; ;
cin &gt;&gt; x;
cout &lt;&lt; &quot;Wie gross sollen die einzelnen Zeitschritte sein? &quot;;
cin &gt;&gt; dt;

	for(double t=0;t&lt;=x;t+=dt){
	phi=phi+omega*dt;
	omega=omega-phi*dt;
	E=0.5*omega*omega+0.5*phi;

	cout &lt;&lt; &quot;t=&quot;&lt;&lt; t &lt;&lt; &quot; n=&quot; &lt;&lt; n &lt;&lt; endl;	

		if(t==n){
		cout &lt;&lt; t &lt;&lt; &quot;\t&quot; &lt;&lt; phi &lt;&lt; &quot;\t&quot; &lt;&lt; E &lt;&lt; &quot;\t&quot; &lt;&lt; omega &lt;&lt; endl;
		n+=2*dt;
		continue;
		}

	cout &lt;&lt; endl;
	} 

	f.close();
	return (0);

}
[/code]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/239591/anfallende-daten-verringern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 10:30:51 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/239591.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 25 Apr 2009 13:45:58 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Anfallende Daten verringern :-) on Sat, 25 Apr 2009 13:45:58 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein kleines Problem mit meinem Programm.<br />
Das Programm soll die Bewegungsgleichung des Fadenpendels &quot;lösen&quot;.<br />
Das Physikalische ist nicht so wichtig denke ich. Auf jeden Fall wird das ganze anhand einer For-Schleife realisiert, mit der über den Zeitraum x integriert wird und zwar anhand der Zeitintervalle dt.<br />
Nun wird von mir in der Aufgabenstellung verlangt, dass ich die unten zu sehenden Daten in eine Datei schreibe und außerdem, dass ich als Zeitschritte dt=0.00001 und Zeitintervall x=100 wähle, was zu 3*10000000 Daten führt, die ich in eine Datei schreiben müsste <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="😞"
    /> (Nicht nur, dass das Berechnen lange dauert, später muss ich den Graphen auch noch mit Gnuplot zeichen lassen und das würde wahrscheinlich nochmal dreimal so lange dauern.)<br />
Naja, nun ist es durchaus möglich, dass ich nur jede 2te oder 10te Zeile überhaupt in die Datei schreibe. Wie ich versucht habe, dass zu realisieren, ist unten zu sehen <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="🙂"
    /><br />
Das Problem, das ich dabei habe, ist , dass n zwar die ersten Male korrekt erhöht wird, aber nach einer gewissen Anzahl von Schritten geht das Programm in die Bedingung, erhöht aber n nicht und somit werden gar keine Werte mehr ausgegeben.<br />
Ich weiß nicht, ob es erwähnenswert ist, aber wenn ich n und t auf float setze, werden allgemein weniger Werte ausgegeben.<br />
Wäre schön, wenn jemand vielleicht eine Lösung für das Problem hätte.<br />
Außerdem konnte ich das Programm noch nicht ordentlich ausführen, darum weiß ich nicht, ob meine Lösung sonderlich Effizient ist. Vielleicht hat jemand eine bessere Lösung?</p>
<p>Achja, falls sich jemand fragt, warum ich nicht einfach dt erhöhe..<br />
Das Problem dahinter ist, dass in manchen Fällen der Fehler zu groß wird und er sich dann so sehr aufschaukelt, dass die Lösung nicht mehr stimmt.</p>
<p>Ich hoffe, mir kann jemand helfen.<br />
Danke schonmal im Voraus <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>
<pre><code class="language-cpp">[code]#include &lt;iostream&gt;
#include &lt;cmath&gt;
#include &lt;fstream&gt;

using namespace std;

int main(){

double phi=(1/180)*3.141592654;
double omega=1;
double dt=0;
double E=0;
double x=0;
double n=0;
double t=0;

fstream f;
f.open(&quot;pendel.dat&quot;, ios::out);

cout &lt;&lt; &quot;Obere Grenze?&quot; ;
cin &gt;&gt; x;
cout &lt;&lt; &quot;Wie gross sollen die einzelnen Zeitschritte sein? &quot;;
cin &gt;&gt; dt;

	for(double t=0;t&lt;=x;t+=dt){
	phi=phi+omega*dt;
	omega=omega-phi*dt;
	E=0.5*omega*omega+0.5*phi;

	cout &lt;&lt; &quot;t=&quot;&lt;&lt; t &lt;&lt; &quot; n=&quot; &lt;&lt; n &lt;&lt; endl;	

		if(t==n){
		cout &lt;&lt; t &lt;&lt; &quot;\t&quot; &lt;&lt; phi &lt;&lt; &quot;\t&quot; &lt;&lt; E &lt;&lt; &quot;\t&quot; &lt;&lt; omega &lt;&lt; endl;
		n+=2*dt;
		continue;
		}

	cout &lt;&lt; endl;
	} 

	f.close();
	return (0);

}
[/code]
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1701128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1701128</guid><dc:creator><![CDATA[Esthir]]></dc:creator><pubDate>Sat, 25 Apr 2009 13:45:58 GMT</pubDate></item><item><title><![CDATA[Reply to Anfallende Daten verringern :-) on Sat, 25 Apr 2009 14:01:15 GMT]]></title><description><![CDATA[<p>Esthir schrieb:</p>
<blockquote>
<p>Nun wird von mir in der Aufgabenstellung verlangt, dass ich die unten zu sehenden Daten in eine Datei schreibe und außerdem, dass ich als Zeitschritte dt=0.00001 und Zeitintervall x=100 wähle, was zu 3*10000000 Daten führt, die ich in eine Datei schreiben müsste <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="😞"
    /> (Nicht nur, dass das Berechnen lange dauert, später muss ich den Graphen auch noch mit Gnuplot zeichen lassen und das würde wahrscheinlich nochmal dreimal so lange dauern.)</p>
</blockquote>
<p>Man Alda, schreib nicht bei jedem Loop was raus. Check alles fett in nen vector rein und schreibs am Schluss raus. Dann gehts voll krass ab Alda!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1701137</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1701137</guid><dc:creator><![CDATA[Obachecka]]></dc:creator><pubDate>Sat, 25 Apr 2009 14:01:15 GMT</pubDate></item><item><title><![CDATA[Reply to Anfallende Daten verringern :-) on Sat, 25 Apr 2009 14:16:53 GMT]]></title><description><![CDATA[<p>Ok, danke für Tip</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1701147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1701147</guid><dc:creator><![CDATA[Esthir]]></dc:creator><pubDate>Sat, 25 Apr 2009 14:16:53 GMT</pubDate></item></channel></rss>