Beispiel 40
Results 1 to 14 of 14

Thread: Beispiel 40

  1. #1
    dj_m.o.h.t.'s Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Posts
    428
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Beispiel 40

    Angabe:

    Man berechne für y'=x+y^2 und die Anfangsbedingung y(0)=1 mit dem Polygonzugverfahren die Werte y(0,1) und y(0,2)!

    Lösung:

    x0=0
    y0=1
    y'(0)=0+1=1
    d...Delta
    (x1,y1): x1=x0+dx
    y1=y0+dx*f(x0,y0)
    x1=0,1
    y1=1+0.1*1=1.1
    x2=0.2
    y'(0.1)=0.1+1.1^2=1.31
    y2=1.1+0.2*1.31=1.231
    Last edited by djbiohazard; 09-06-2002 at 18:16.

  2. #2
    lj_scampo's Avatar
    Title
    Baccalaureus
    Join Date
    Mar 2002
    Posts
    582
    Thanks
    0
    Thanked 0 Times in 0 Posts
    ich glaube y<sub>2</sub> ist falsch:
    [edit:] y<sub>2</sub> = 1,362
    Last edited by lj_scampo; 06-06-2002 at 21:11.

  3. #3

    Title
    Principal
    Join Date
    Feb 2002
    Posts
    57
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Robby, du hast dich da - so glaub ich - verschrieben:

    y(0.2)=y(0.1)+0.1(0.1+1.1²)=1.231

    Das Delta x ist ja weiterhin 0.1.

  4. #4
    shabby's Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Location
    Schrödinger, 1040 Wien
    Posts
    267
    Thanks
    2
    Thanked 9 Times in 8 Posts
    meine Lösungen ohne weitere Zwischenwerte:
    y1(0.1,deltax = 0.1)=y0+F(x0,y0)delta(x)=1+1*0.1 = 1.1
    y2(0.2,deltax = 0.1)=y1+F(x1,y1)delta(x)=1.1+ (0.1+1.1^2)*0.1=1.231

    edit: sorry, ich habe niemandens existenz gefährdet
    anm.: vorher standen hier falsche 'exakte Lösungen' (und zwar von y'=x+y dass man gemeinerweise sehr schön lösen kann)

    die exakten lösungen sind wie unten erwähnt:
    y(0,1) = 1.1164923
    y(0,2) = 1.2735642
    mit $xn=&lt STDIN &gt ; $dx=0.0000001 ; for($y=1 ; $x &lt $xn ;$x+=$dx){$y=$y+($x+$y**2)*$dx;}print "y($x) = $y";

    sorry nochmal

    edit: Zur Verwendung des Skripts (braucht eh kein schwein):
    a) nix warnings oder strict, das ist minimalcode;
    b) < , > müssen ersetzt werden (dass was man sieht sind die HTML äquivalente &lt; &gt;
    c) es gibt keinen anhang. hat es nie gegeben.

    shabby
    _______________________________________________
    ceterum censeo, v-bulletin iz no gud
    Last edited by shabby; 10-06-2002 at 19:31.

  5. #5

    Title
    Principal
    Join Date
    Dec 2001
    Posts
    88
    Thanks
    0
    Thanked 0 Times in 0 Posts
    bei den "exakten" Lösungen bekomm ich etwas anderes raus:
    y(0,1)=1,11649
    y(0,2)=1,27356

    mit folgendem Prog berechnet:
    Code:
    public class bsp40
    {
       public static void main(String args[])
       {
          final double deltaX=0.00000001;
          double y0=1, x0=0, x1=0.2;
          double x, y;
          
          for(x=x0, y=y0; x "kleiner" x1; x+=deltaX)
          {
             y+=(x+(y*y))*deltaX;
          }
          System.out.println("y(" + (x) + ")=" + y );
       }
    }
    edit: das "kleiner" bitte durch ein < ersetzten
    Last edited by qmp; 10-06-2002 at 20:37.

  6. #6
    antifuchs's Avatar
    Title
    Master
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    112
    Thanks
    0
    Thanked 0 Times in 0 Posts
    irgendwie lustig, dass sich keins der oben geposteten programme kompilieren / starten laesst. Irgendwie ist mir auch nicht ganz klar, wie robby auf die Idee kommt, dass y(0.1) = y(1) ist, und y(1.1) = y(2). schaut zumindest so aus. Naja, viel Spasz noch.
    Hail Eris! All hail Discordia!

  7. #7
    shabby's Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Location
    Schrödinger, 1040 Wien
    Posts
    267
    Thanks
    2
    Thanked 9 Times in 8 Posts
    Original geschrieben von antifuchs
    irgendwie lustig, dass sich keins der oben geposteten programme kompilieren / starten laesst. Irgendwie ist mir auch nicht ganz klar, wie robby auf die Idee kommt, dass y(0.1) = y(1) ist, und y(1.1) = y(2). schaut zumindest so aus. Naja, viel Spasz noch.
    brauchst du hilfe

    hint 1: meins is in perl5
    datei in zip runterladen und mit Interpreter starten (oder was doch umgekehrt ?
    )

    hint 2: seins is in java und "kleiner" mußt durch < ersetzen.
    dann javac 'bsp42.java'
    dann java 'bsp42

    viel GLÜCK !

    warum machst du eigentlich Mathe 2 wenn du Eprog noch nicht hast ??
    Last edited by shabby; 10-06-2002 at 12:24.

  8. #8
    antifuchs's Avatar
    Title
    Master
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    112
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von shabby


    brauchst du hilfe

    hint 1: meins is in perl5
    datei in zip runterladen und mit Interpreter starten (oder was doch umgekehrt ?
    )
    Da ist kein Zip, und dass es perl ist, weisz ich auch. Siehe output:

    $ LC_CTYPE=C perl -pe '$xn=&lt;STDIN&gt; ; $dx=0.0000001 ; for($y=1 ; $x < $xn ;$x+=$dx){$y=$y+($x+$y**2)*$dx;}print "y($x) = $y";'
    1
    y() = 11

    Du hast $x nicht initialisiert, keine Anleitung zur Verwendung oder zum Aufruf gegeben, und perl -w gibt Warnungen bzw. Errors aus.


    hint 2: seins is in java und "kleiner" mußt durch < ersetzen.
    dann javac 'bsp42.java'
    dann java 'bsp42

    viel GLÜCK !
    Das habe ich dann auch gemerkt. (-:

    Ich vertrete trotzdem die Ansicht, dass Programme, wenn sie gepostet werden, ohne irgendwelche Herumfuhrwerkereien kompilieren/starten lassen koennen sollen (siehe als Bsp. FAQ von comp.lang.c, die verlangen das explizit).


    warum machst du eigentlich Mathe 2 wenn du Eprog noch nicht hast ??
    Ich habe EPROG noch nicht, weil ich 5 Jahre Programmieren in der HTL hatte (und das daher anerkannt wurde), und die Wahl, in welcher Reihenfolge ich die einzelnen LVAen belege, liegt (noch) bei mir. (-:

    Dass manche Programme nicht verwendbar sind, ist nicht immer die Schuld der Benutzer (-:
    Hail Eris! All hail Discordia!

  9. #9
    antifuchs's Avatar
    Title
    Master
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    112
    Thanks
    0
    Thanked 0 Times in 0 Posts
    Original geschrieben von shabby


    brauchst du hilfe

    hint 1: meins is in perl5
    datei in zip runterladen und mit Interpreter starten (oder was doch umgekehrt ?
    )
    Da ist kein Zip, und dass es perl ist, weisz ich auch. Siehe output:

    $ LC_CTYPE=C perl -e '$xn=&lt;STDIN&gt; ; $dx=0.0000001 ; for($y=1 ; $x < $xn ;$x+=$dx){$y=$y+($x+$y**2)*$dx;}print "y($x) = $y";'
    1
    y() = 11

    Du hast $x nicht initialisiert, keine Anleitung zur Verwendung oder zum Aufruf gegeben, und perl -w gibt Warnungen bzw. Errors aus.


    hint 2: seins is in java und "kleiner" mußt durch < ersetzen.
    dann javac 'bsp42.java'
    dann java 'bsp42

    viel GLÜCK !
    Das habe ich dann auch gemerkt. (-:

    Ich vertrete trotzdem die Ansicht, dass Programme, wenn sie gepostet werden, ohne irgendwelche Herumfuhrwerkereien kompilieren/starten lassen koennen sollen (siehe als Bsp. FAQ von comp.lang.c, die verlangen das explizit).


    warum machst du eigentlich Mathe 2 wenn du Eprog noch nicht hast ??
    Ich habe EPROG noch nicht, weil ich 5 Jahre Programmieren in der HTL hatte (und das daher anerkannt wurde), und die Wahl, in welcher Reihenfolge ich die einzelnen LVAen belege, liegt (noch) bei mir. (-:

    Dass manche Programme nicht verwendbar sind, ist halt nicht immer die Schuld der Benutzer (-:
    Hail Eris! All hail Discordia!

  10. #10
    bimbo's Avatar
    Title
    Baccalaureus
    Join Date
    Feb 2002
    Posts
    713
    Thanks
    21
    Thanked 19 Times in 9 Posts
    will ja net vond em kleinen programmier diskurs ablenken, aber was isn jetzt die lösung von y(0,1) bzw y(0,2)???

    iss einfach y(0,1)=1,1
    und y(0,2)=1,231 ???
    LVA Erfahrungsberichte: http://vowi.fsinf.at/

  11. #11

    Title
    Mag.rer.soc.oec
    Join Date
    Nov 2001
    Location
    dzt. München
    Posts
    1,270
    Thanks
    0
    Thanked 0 Times in 0 Posts
    hoi ... könnte jemand von der montagsgruppe so nett sien und mal posten ob das so gestimmt hat .... büdde büdde

  12. #12
    shabby's Avatar
    Title
    Elite
    Join Date
    Jan 2002
    Location
    Schrödinger, 1040 Wien
    Posts
    267
    Thanks
    2
    Thanked 9 Times in 8 Posts
    Ja
    Obwohl der Urbanek das eindeutig als unnützes Beispiel angesehen hat.("wozu delta x ? zeichne da die Steigung, dann wirds ein bisserl steiler, brauch ma nicht herumrechnen")
    Wie auch das 39:
    ("lösen kann mans grafisch nicht und bei ausrechnen kommt so grausliges Zeug raus. ich hab gestern die Wahl ghabt, die Kurve zu zeichnen oder Final Fantasy zu spielen ....")

  13. #13

    Title
    Hero
    Join Date
    Dec 2001
    Posts
    216
    Thanks
    0
    Thanked 0 Times in 0 Posts

    hab nicht mitgeschrieben

    aber es gibt verschiedene(=verschieden genaue) Lösungen, kommt darauf an wie man delta(x) wählt.
    .) man kann es in zwei schritten machen wie robby, allerdings bleibt das delta(x) natürlich 0.1 und das ergebnis ist nicht sehr genau
    .) man schreibt ein programm und macht das delta(x) ganz klein, das ist die genaueste lösung. die geposteten zahlenwerte stimmen glaub ich.
    .) man wählt einen mittelweg z.b. 8 schritte mit delta(x)=0,025. das könnte man noch "per hand" machen

  14. #14
    antifuchs's Avatar
    Title
    Master
    Join Date
    Mar 2002
    Location
    Wien
    Posts
    112
    Thanks
    0
    Thanked 0 Times in 0 Posts
    hm, ihr Urbanek-Gluecklichen.

    Was mir sehr geholfen hat, war die Einsicht, dass das "," in der Angabe ein KOMMA, und kein Beistrich (wie ein Beistrich, der Parameter trennt) ist.

    Aber die Ergebnisse stimmen (:
    Hail Eris! All hail Discordia!

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •