Matroids Matheplanet Forum Index
Moderiert von mire2
Mathematische Software & Apps » Matlab » Eingebettetes Runge-Kutta-Verfahren
Autor
Universität/Hochschule Eingebettetes Runge-Kutta-Verfahren
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Themenstart: 2021-11-10

Hey zusammen, könnte mir jemand bitte diese Aufgabe erstmal mathematisch erklären wie ich das eingebettete Runge-Kutta-Verfahren formen kann damit ich danach den Code schreiben kann? https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/54010_Unbeneuriogjtrrgrtannt.PNG Danke im Voraus!


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 1890
  Beitrag No.1, eingetragen 2021-11-10

Hallo s-amalgh! Wir kennen leider Deine Aufgabe 15 nicht! Ich denke gesucht sind Verfahren wie ode23 oder ode45 - Runge Kutta Fehlberg. Einen Code aus Octave findest Du hier: https://www.matheplanet.de/matheplanet/nuke/html/viewtopic.php?rd2&topic=246052&start=0#p1791071 Matlab kennt ode23 und ode45. Viele Grüße Ronald


Wahlurne Für Delastelle bei den Matheplanet-Awards stimmen
   Profil
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Beitrag No.2, vom Themenstarter, eingetragen 2021-11-10

Hey, danke erstmal für deine Antwort! Das ist Aufgabe 15 https://www.matheplanet.com/matheplanet/nuke/html/uploads/b/54010_Unbendfgdsggsrgannt.PNG


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 1890
  Beitrag No.3, eingetragen 2021-11-10

Du könntest erst mal ode23 oder ode45 an Deinen Aufgaben testen - da siehst Du erst mal wie es werden soll! Ein Beispiel dazu: https://www.matheplanet.de/matheplanet/nuke/html/viewtopic.php?rd2&topic=146185&start=0#p1073255 (mein Beitrag 4 zu einem Anfangswertproblem) Viele Grüße Ronald


Wahlurne Für Delastelle bei den Matheplanet-Awards stimmen
   Profil
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Beitrag No.4, vom Themenstarter, eingetragen 2021-11-15

Ich habe das noch nicht hingekriegt... Könntest du mir bitte erklären was ich machen soll? welche Formel muss ich schreiben? Danke im Voraus!


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
Delastelle
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 17.11.2006
Mitteilungen: 1890
  Beitrag No.5, eingetragen 2021-11-16

Hallo, hast Du mal die beiden Beispiele mittels ode23 oder ode45 gelöst? Viele Grüße Ronald Edit: auf der Seite: https://en.wikipedia.org/wiki/List_of_Runge–Kutta_methods findet sich auch Deine Methode: "Heun's third-order method" ohne die vorletzte Zeile.


Wahlurne Für Delastelle bei den Matheplanet-Awards stimmen
   Profil
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Beitrag No.6, vom Themenstarter, eingetragen 2021-11-17

ich habe eine mathematische Frage Ich habe die Anfangswerte : y´ = f(y) und y(x_0) = y_0 Und habe y´(x_0)*h = f(y_0)*h y´´(x_0)*h = f(y_0) * f´(y_0) * h wieso ist y´´(x_0)*h = f(y_0) * f´(y_0) * h ? Ich meinte mit y´ die erst Ableitung und mit y´´ die zweite Ableitung


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 3130
  Beitrag No.7, eingetragen 2021-11-17

\quoteon(2021-11-17 00:33 - s-amalgh in Beitrag No. 6) wieso ist y´´(x_0)*h = f(y_0) * f´(y_0) * h ? \quoteoff Die Kettenregel sagt$$ y''(x) = {\mathrm d\over\mathrm dx}\,y'(x) = {\mathrm d\over\mathrm dx}\,f\bigl(y(x)\bigr) = f'\bigl(y(x)\bigr)\cdot y'(x) = f'\bigl(y(x)\bigr)\cdot f\bigl(y(x)\bigr) \;.$$--zippy


Wahlurne Für zippy bei den Matheplanet-Awards stimmen
   Profil
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Beitrag No.8, vom Themenstarter, eingetragen 2021-11-17

und von der dritten Ableitung?


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 3130
  Beitrag No.9, eingetragen 2021-11-17

\quoteon(2021-11-17 00:51 - s-amalgh in Beitrag No. 8) und von der dritten Ableitung? \quoteoff $$ y'''(x) = {\mathrm d\over\mathrm dx}\,y''(x) = {\mathrm d\over\mathrm dx}\,\bigl[ f'\bigl(y(x)\bigr)\cdot f\bigl(y(x)\bigr)\bigr] = f''\bigl(y(x)\bigr)\cdot f\bigl(y(x)\bigr)^2 + f'\bigl(y(x)\bigr)^2\cdot f\bigl(y(x)\bigr) \;.$$


Wahlurne Für zippy bei den Matheplanet-Awards stimmen
   Profil
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Beitrag No.10, vom Themenstarter, eingetragen 2021-11-17

Ich habe den Code geschrieben aber fehlen mir noch die zwei Beispiele anzuwenden. zu Beispiel 1 ich weiß nicht wie ich die Fehler berechne zu Beispiel 2 habe gar keine Ahnung Hast du Idee?


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Beitrag No.11, vom Themenstarter, eingetragen 2021-11-17

Mein Code \sourceon Matlab function erk(a,b,h0,y0,rtol,atol,f) a_= [0, 0, 0; 1/3, 0, 0; 0, 2/3, 0]; b1 = [0, 1/2, 1/2]; b2 = [1/4, 0, 3/4]; c = [0, 1/3, 2/3]; x = [a]; y = [y0]; y_ = [y0]; summe = 0; delta = 0.9; sigma = 1/5; theta = 5; n = (b-a)/h0; for i = 1 : n x(i+1) = x(i) + h0; k1 = f(x(i),y(i)); k2 = f(x(i) + h0*c(2), y(i) + a_(2,1)*h0*k1); k3 = f(x(i) + h0*c(3), y(i) + a_(3,2)*h0*k2); y(i+1) = y(i) + b1(1)*h0*k1 + b1(2)*h0*k2 + b1(3)*h0*k3; y_(i+1) = y(i) + b2(1)*h0*k1 + b2(2)*h0*k2 + b2(3)*h0*k3; summe += ((y_(i) - y(i))/(atol + rtol*abs(y(i))))^2; end err = sqrt(summe/n); h_new = delta * h0 * 1/nthroot(err, 3); if h_new < h0 h0 = h_new; erk(a,b,h0,y0,rtol,atol,f); else if sigma*h0 > h_new h_new = sigma*h0 elseif h_new > theta*h0 h_new = theta*h0 else fprintf('%d <= %d <= %d\n',sigma*h0, h_new, theta*h0) disp("h_new liegt in dem Intervall!\n"); end end end l = [3,4,5,6]; for i = 1 : length(l) fprintf('Fuer rtol 10^-%d\n',l(i)) erk(-10,20,1,1,10^-l(i),10^-6,@(x,y)(y/(1+x^2))) end \sourceoff


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
zippy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 24.10.2018
Mitteilungen: 3130
  Beitrag No.12, eingetragen 2021-11-18

\quoteon(2021-11-17 01:07 - s-amalgh in Beitrag No. 10) Ich habe den Code geschrieben aber fehlen mir noch die zwei Beispiele anzuwenden. \quoteoff Dein Code hat noch das grundsätzliche Problem, dass du gar keine Schrittweitensteuerung in eigentlichen Sinne betreibst, sondern über das gesamte Intervall $[a,b]$ mit einer festen Schrittweite arbeitest. Erst danach überlegst du dir, was eine bessere Schrittweite sein könnte. Mit anderen Worten: Die Überlegungen, die du dir zur Ersetzung von h0 durch h_new machst, musst du in jedem Schritt und nicht nur am Ende anstellen.


Wahlurne Für zippy bei den Matheplanet-Awards stimmen
   Profil
s-amalgh
Aktiv Letzter Besuch: in der letzten Woche
Dabei seit: 16.12.2020
Mitteilungen: 328
  Beitrag No.13, vom Themenstarter, eingetragen 2021-11-22

Hey @zippy, Könntest du mir bitte dabei helfen? :) https://www.matheplanet.com/matheplanet/nuke/html/viewtopic.php?topic=256410&start=0&lps=1862483#v1862483 Danke im Voraus!


Wahlurne Für s-amalgh bei den Matheplanet-Awards stimmen
   Profil
s-amalgh hat die Antworten auf ihre/seine Frage gesehen.
s-amalgh wird per Mail über neue Antworten informiert.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2022 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]