Seite 1 von 3

P4 - Testcase?

Verfasst: 13. Jan 2010 14:28
von jonas
Auf dem Blatt steht:
Auf der Webseite zur Übung können Sie einen Testcase und die Funktion herunterladen, welche
die rechte Seite der Differentialgleichung auswertet.
Aber wo sind sie?

Desweiteren sind wir etwas irritiert davon, dass die gelieferte Funktion von c UND t abhängt. Sollte nur c nicht reichen?

Grüße

Re: P4 - Testcase?

Verfasst: 14. Jan 2010 09:56
von Stumpf.Alex
jonas hat geschrieben:Auf dem Blatt steht:
Auf der Webseite zur Übung können Sie einen Testcase und die Funktion herunterladen, welche
die rechte Seite der Differentialgleichung auswertet.
Aber wo sind sie?
Entschuldigt dies, sie werden noch nachgerreicht.
jonas hat geschrieben:Desweiteren sind wir etwas irritiert davon, dass die gelieferte Funktion von c UND t abhängt. Sollte nur c nicht reichen?
Die Scilab-Funktion Ode erfordert, dass beim Aufruf der Funktion die Variable "t" als Parameter zur Verfügung steht. Deshalb ist dieser Parameter bei der Funktion oregon enthalten, obwohl sie bei der eigentlichen Berechnung nicht verwendet wird.

Gruß

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 16:17
von Stumpf.Alex
Die Testcases sind jetzt verfügbar auf der Veranstalterhomepage.

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 17:33
von m_stoica
Laut Testcase wird für Aufg a) folgendes Ergebnis erwartet:
[0.06,0.06,0.06,0.06,0.06,0.06,0.06;0,0,0,0,0,0,0;0,0,0,0,0,0,0;0.03,0.0299,0.0299,0.0299,0.0299,0.0299,0.0299;0,0,0,0,0,0,0;0,0,5,10,15,20,25]
Warum steht in der letzten Zeile "0,0,5,10,15,20,25" ? Es macht doch keinen Sinn, dass da zwei Nullen am Anfang stehen. Das hieße doch, dass es für den Zeitpunkt 0 zwei unterschieldiche Werte gibt.

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 18:12
von alex05
Hi,
also so ganz versteh ich das auch nicht.

Zum Test für a):
Für mich sieht das so aus, als ob zuerst der Startvektor in A1 eingefügt wird und dann bei t = 0 angefangen wird zu rechenen, was dazu führt, dass der Startvektor zweimal im Ergebnis auftaucht. Dafür wird der Wert für t = tf nicht mehr berücksichtigt (im Test t = 30).

Zum Test für b):
Wenn dort der gleiche Aufbau für die Ausgabe erwartet wird wie in a), ist der eine Werteverglich doch etwas seltsam. Denn dort wird P4b(4,1) verglichen, was der Wert für 0.03e-1 aus dem Startvektor ist. Versteh ich nicht...
Desweiteren hab ich Dimension 6x17 und nicht 6x7... aber das kann natürlich falsch sein.

Zum Test für c):
Schon ein bisschen sinnlos oder?. Es wird nur überprüft, ob sim_scilab ohne kritischen Fehler läuft. Wenn ich eine Fehlermeldung bekomme, kann ich mir ja wohl denken, dass was nicht stimmt... dazu brauch ich keinen Test.

Gruß

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 21:56
von m_stoica
das update gefällt mir doch gleich viel besser ;)

Damit meine ich aber nur den Testcase zur Aufgabe a)

Im Testcase zur b) steht:
if ((size(P4b,'c') == 7) & (size(P4a,'r') == 6))
Ich vermute mal, dass das P4a ein P4b sein soll?

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 22:45
von m_stoica
alex05 hat geschrieben:Hi,

Desweiteren hab ich Dimension 6x17 und nicht 6x7... aber das kann natürlich falsch sein.
Was hast du denn so für Werte für K?

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 23:10
von alex05
Hi,
also das mit den 6x17 muss ich zurückziehen... hatte einen Fehler.
Meine Lösung für b) stimmt aber immer noch nicht, da ich 1860 Schritte brauche, bis ich tf erreicht habe...
Was mich etwas iritiert sind die deltas im Testcase für b).

Code: Alles auswählen

delta1 = 10e-9;
delta2 = 10e-9;
Warum sind die denn gleich? Das macht für mich keinen Sinn.

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 23:24
von m_stoica
ich sehe prinzipiel kein problem darin, dass beide Gleich sind.
du halbierst h solange dein K>delta2, wenn das nicht mehr der Fall ist nimmst du die Werte die du damit erhältst.

Jetzt wird aber K<delta1 sein, deshalb wirst du h verdoppeln
Dann ist K>delta2 und du wirst h wieder solange halbieren bis K<=delta2 und die Werte die du erhältst übernehmen.

Ich habe auch was viel größeres raus als 7. Ich vermute mal, dass der Testcase da noch nicht ganz fehlerfrei ist.

Re: P4 - Testcase?

Verfasst: 17. Jan 2010 23:27
von alex05
hmm... ok, das mit den deltas versteh ich.

Naja, mal abwarten, vielleicht kommt ja noch was.

Re: P4 - Testcase?

Verfasst: 18. Jan 2010 11:55
von alex05
So... ich glaub ich hab jetzt die Testcases verstanden.
Sie stehen etwas im Widerspruch zur Aufgabenstellung:

Darin heißt es bei Aufgabenteil b) bei K > delta2:
Halbiere hk := hk / 2 solange bis K = hk |f(xk) - f(xk+1)| <= delta2;
Wenn ich jetzt das hk nur einmal halbiere, wenn K >delta2, und nicht solange halbiere bis K = hk |f(xk) - f(xk+1)| <= delta2, dann läuft der Testcase durch.

Was ist denn nun die geforderte Lösung?

Re: P4 - Testcase?

Verfasst: 19. Jan 2010 09:10
von Stumpf.Alex
Das Problem mit der Aufgabe b) ist bekannt und es werden neue Testcases dafür demnächst online gestellt.

Re: P4 - Testcase?

Verfasst: 20. Jan 2010 13:42
von Render
Stimmt die Signatur von sim_scilab so wie sie auf dem Aufgabenblatt steht oder fehlt da der funktionsparameter f?

Edit:
Und stinnt das mit t0 tf? Einfach die parameter ignorieren und in der Funktion auf t0 = 0 und tf = 100 setzen?

Re: P4 - Testcase?

Verfasst: 20. Jan 2010 16:46
von m_stoica
laut testcase schaut die funktion so aus sim_scilab(c0,t0,tf)

Re: P4 - Testcase?

Verfasst: 22. Jan 2010 19:39
von tzeenie
Stumpf.Alex hat geschrieben:Das Problem mit der Aufgabe b) ist bekannt und es werden neue Testcases dafür demnächst online gestellt.
Ich will ja wirklich kein Stress machen, aber was zu Teufel soll denn "demnächst" heißen, am Mo 13:21 Uhr oder was?! :evil: