Die Mathe-Redaktion - 20.02.2018 18:41 - Registrieren/Login
Auswahl
ListenpunktHome
ListenpunktAktuell und Interessant ai
ListenpunktArtikelübersicht/-suche
ListenpunktAlle Links / Mathe-Links
ListenpunktFach- & Sachbücher
ListenpunktMitglieder / Karte
ListenpunktRegistrieren/Login
ListenpunktArbeitsgruppen
ListenpunktSchwätz / Top 15
ListenpunktWerde Mathe-Millionär!
ListenpunktFormeleditor fedgeo
Aktion im Forum
Suche
Stichwortsuche in Artikeln und Links von Matheplanet
Suchen im Forum
Suchtipps

Bücher
Englische Bücher
Software
Suchbegriffe:
Mathematik bei amazon
Naturwissenschaft & Technik
In Partnerschaft mit Amazon.de
Kontakt
Mail an Matroid
[Keine Übungsaufgaben!]
Impressum

Bitte beachten Sie unsere Nutzungsbedingungen, die Distanzierung, unsere Datenschutzerklärung und
die Forumregeln.

Sie können Mitglied werden oder den Newsletter bestellen.

Der Newsletter Okt. 2017

Für Mitglieder
Mathematisch für Anfänger
Wer ist Online
Aktuell sind 505 Gäste und 21 Mitglieder online.

Sie können Mitglied werden:
Klick hier.

Über Matheplanet
 
Zum letzten Themenfilter: Themenfilter:
Matroids Matheplanet Forum Index
Moderiert von Spock mire2
Mathematische Software & Apps » Mathematica » Iterierte Funktion und deren Plot
Druckversion
Druckversion
Antworten
Antworten
Autor
Universität/Hochschule Iterierte Funktion und deren Plot
JtSpKg
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 12.08.2017
Mitteilungen: 11
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Themenstart: 2018-02-13 18:56


Hallo liebe Forenmenschen,

ich möchte gerne den Orbit einer stückweise definieten Funktion plotten, bin aber ein ziemlicher Anfänger was Mathematica angeht. Ich habe da so einen Ausdruck im Internet gefunden, der sehr in die Richtung geht was ich machen will, doch zum einen verstehe ich nicht genau was dieser bedeutet und zum anderen kommt es zu einer Fehlermeldung bei der Ausführung.

Ich schreibe im Folgenden einfach mal mein Vorgehen rein und trenne durch einen Strich das mir Unverständliche ab.

Die Funktion ist gegeben durch die Vorschrift f:[0,1)->[0,1), f(x) = 2x mod(1). In mathematica schreibe ich sie wie folgt auf

f(x_):= Piecewise[{2x, 0 <= x < 1/2},{2x-1, 1/2 <= x < 1}] .


Dann kann der Orbit über die NestList-Funktion erhalten werden als

orbit:= NestList[f, x_0, n]

mit dem Anfangspunkt x_0 und der Anzahl der Iterationen n. Hier erhalte ich dann eine Liste von n+1 Elementen: Den Anfangswert x_0 und die weiteren n Punkte des Orbits f(x_0), f(f(x_0)), usw.

----------------------------------------------------------------

Für die grafische Darstellung möchte ich die Ausgangsfunktion, die Funktion g(x) = x und den Orbit plotten, wie er durch eine graphische Analyse kenntlich gemacht werden kann.

Dies wurde von jemandem anders so gemacht (mit den obigen Sachen und meinen gewünschten Werten):

f(x_):= Piecewise[{2x, 0 <= x < 1/2},{2x-1, 1/2 <= x < 1}]
orbit:= NestList[f, 1/5, 10]
lines = Partition[Flatten[#,#,#,#]& /@orbit][[-2;;2]],2];
Plot[{x, f[x]}, {x, 0, 1}, AspectRatio -> Automatic,
 Epilog -> {Opacity[0.5], Line /@ Partition[lines, 2, 1]},
 PlotStyle -> Thick]

Könnte jemand den Ausdruck lines = Partition[Flatten[#,#,#,#]& /@orbit][[-2;;2]],2]; für mich in Worten erklären? Also wie und wieso wird eine verschachtelte Liste geplättet? Wieso wird das in der gegebenen Form getan mit den vier Platzhaltern # ? Und was bedeutet das direkt angehängte [-2;;2] in diesem Kontext (Worauf bezieht sich dieses Intervall?)


(Ich habe da schon meine Werte eingesetzt, das Original wäre:
orbit = NestList[f, N[1/GoldenRatio, 302], 1000];
lines = Partition[Flatten[{#, #, #, #} & /@ orbit][[2 ;; -2]], 2];
Plot[{x, f[x]}, {x, 0, 1},
  AspectRatio -> Automatic,
  Epilog -> {Opacity[0.5], Line /@ Partition[N[lines, 20], 2, 1]},
  PlotStyle -> Thick] )


Meine Idee ist, dass man aus den gegebenen Elementen irgendwie versucht Koordinatenpunkte für den zweidimensionalen Plot zu finden.

Mit meinen Werten bekomme ich übrigens die Fehlermeldung

" Nonatomic expression expected at position 1 in Flatten[orbit]. " .



Vielen Dank schonmal für die Hilfe!





  Profil  Quote  Link auf diesen Beitrag Link
Buri
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 02.08.2003
Mitteilungen: 45272
Aus: Dresden
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.1, eingetragen 2018-02-13 20:02


Hi JtSpKg,
die Zeichenfolge -2;;2 ist äquivalent zu 2, das ist also nicht sinnvoll.
Wahrscheinlich müssen hier Kommas stehen, also -2,,2.
Allerdings sind zwei aufeinanderfolgende Kommas ebenfalls nicht sinnvoll.
Dies ist die Extraktion eines Elements über den Index aus einem mehrstufigen Tensor, es ist damit kein Intervall gemeint.
Die vierfache Angabe von # kann ich mir auch nicht erklären.
In der Zeile lines = ... muss der Operator /@ lauten, nicht \@.
Dies ist eine abkürzende Schreibweise für die Map-Funktion.
Gruß Buri




  Profil  Quote  Link auf diesen Beitrag Link
endy
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 10.01.2011
Mitteilungen: 3039
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.2, eingetragen 2018-02-13 21:22


Hallo.

Also die ersten beiden Zeilen deines Codes sollten etwa folgendermaßen aussehen
mathematica
Clear @ "Global`*"
 
f[x_] := Piecewise[{{2 x, 0 <= x < 1/2}, {2 x - 1, 1/2 <= x < 1}}]
orbit[f_, x0_, n_] := NestList[f, x0, n]
 
orbit[f, 1/5, 10]
 

Gruß endy



-----------------
Jonathan Borwein : 20.05.1951 - 02.08.2016



  Profil  Quote  Link auf diesen Beitrag Link
JtSpKg
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 12.08.2017
Mitteilungen: 11
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.3, vom Themenstarter, eingetragen 2018-02-13 21:26


Hey Buri,

danke, dass du mich auf die Tippfehler aufmerksam gemacht hast, sind (hoffentlich alle) korrigiert. Habe auch noch einen weiteren Tippfehler in Mathematica selbst gefunden und jetzt tut der Code schon eher was er soll, nur leider immer noch auf magische Weise :)

Schönen abend noch,

JtSpKg


[Die Antwort wurde nach Beitrag No.1 begonnen.]



  Profil  Quote  Link auf diesen Beitrag Link
JtSpKg
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 12.08.2017
Mitteilungen: 11
Aus:
Zum letzten BeitragZum nächsten BeitragZum vorigen BeitragZum erstem Beitrag  Beitrag No.4, vom Themenstarter, eingetragen 2018-02-13 21:30


Hi Endy,

das sieht doch ein bisschen nützlicher aus als mein jetztiger Versuch. Ich übernehm das mal, danke.

JtSpKg



  Profil  Quote  Link auf diesen Beitrag Link
JtSpKg hat die Antworten auf ihre/seine Frage gesehen.
JtSpKg wird per Mail über neue Antworten informiert.
Neues Thema [Neues Thema] Antworten [Antworten]    Druckversion [Druckversion]

 


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-2018 by Matroids Matheplanet
This web site was made with PHP-Nuke, a web portal system written in PHP. 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]