RegistrierenRegistrieren   LoginLogin   FAQFAQ    SuchenSuchen   
Feigenbaum-Übergang ins Chaos
 
Neue Frage »
Antworten »
    Foren-Übersicht -> Sonstiges
Autor Nachricht
stammel



Anmeldungsdatum: 28.05.2004
Beiträge: 2

Beitrag stammel Verfasst am: 28. Mai 2004 10:26    Titel: Feigenbaum-Übergang ins Chaos Antworten mit Zitat

hallo.
ich hab hier ne tolle aufgabe! wer kann mir helfen?
Bestimmen sie den kritischen Kontrollparameter r für den Übergang zum chaos.vergleichen sie mit literaturwerten.Wie ist der zusammenhang zur Feigenbaum-konstante?können sie angaben zum skalenverhalten machen?

grübelnd



aufgaben_ss2004_1d.pdf
 Beschreibung:

Download
 Dateiname:  aufgaben_ss2004_1d.pdf
 Dateigröße:  46.26 KB
 Heruntergeladen:  504 mal

Thomas
Administrator


Anmeldungsdatum: 20.02.2004
Beiträge: 701

Beitrag Thomas Verfasst am: 28. Mai 2004 11:12    Titel: Antworten mit Zitat

Wo liegt denn genau dein Problem?

Gruß,
Thomas
stammel



Anmeldungsdatum: 28.05.2004
Beiträge: 2

Beitrag stammel Verfasst am: 28. Mai 2004 14:01    Titel: Antworten mit Zitat

wie berechne ich denn r (kritische konstante) beim übergang zum chaos?
BlackJack



Anmeldungsdatum: 07.03.2004
Beiträge: 89
Wohnort: org 100h / Münsterland

Beitrag BlackJack Verfasst am: 28. Mai 2004 14:20    Titel: Antworten mit Zitat

ich glaube, berechnen wird aufgrund der chaotischen struktur eher schwierig, oder? wenn du was von programmieren verstehst, dann schreib dir ein programm, das diesen feigenbaum zeichnet (ziemlich einfach), und schau dann nach, ab wo es chaotisch wird, und bestimme das zugehörige r.
_________________
Auf ein gefettetes Backblech legen und bei zweihundert Grad für fünfzehn Minuten backen und KEINE EIER
Tool, Die Eier von Satan

Fraktal3D
Nikolas
Ehrenmitglied


Anmeldungsdatum: 14.03.2004
Beiträge: 1873
Wohnort: Freiburg im Brsg.

Beitrag Nikolas Verfasst am: 28. Mai 2004 15:03    Titel: Antworten mit Zitat

Das mit dem Berechnen ist schon möglich. Wenn du dir das Grafik zu dieser Funktion anschaust, siehst du ja bis zum gesuchten r verschiedene Bifurkationen. Wo die auftreten müsste man eigentlich errechnen können. Nach der dritten Bifurkation hat man schon 8 mögliche Zustände und nach der nächsten dann unendlich viele (Anfang des Chaos). Ich hab zwar keine Ahnung, wie man diese Bifurkationen errechnen kann, aber so könnte man was probieren. Ich hab mal in einem Buch über komplexe Systeme mit meinem Geo nachgemessen (tolle Methode, ich weiss) und bin so auf auf r(unendlich)=3,48888.. gekommen.
Zum Zusammenhang zur Feigenbaumkonstanten:
Wenn du dir die Bifurkationen bei r=3,488.. mit dem Faktor 4,67^3 vergrößerst, müssten sie so aussehen, wie die erste Bifurkation.
(Alles aus dem Buch 'Komplexe Systeme' on Klaus Richte und Jan-Michel Rost; Fischer Taschenbuchverlag 2002).

Viel Glück noch.

_________________
Nikolas, the mod formerly known as Toxman.
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
dachdecker2
Administrator


Anmeldungsdatum: 15.06.2004
Beiträge: 1174
Wohnort: Zeppelinheim / Hessen

Beitrag dachdecker2 Verfasst am: 27. Jun 2004 14:44    Titel: Antworten mit Zitat

Ich hab da was für die interressierten, ein MatLab-Programm mit dem man sich das Feigenbaumdiagramm "von nahem anschauen kann.

Es berechnet für jeden Kontorllparameter, bei mir b, 200 Werte, von denen die letzten 100 (der "eingeschwungene" Zustand der logistischen Gleichung soll erreicht sein; je weiter hinten, desto besser) über dem aktuellen b aufgetragen werden.


Wenn es jemanden interessiert, könnte ich das ganze in ein C-Gewand werfen, was auch um längen schneller laufen würde.

Da Matlab-Dateien als Anhang nicht erlaubt sind, nutz ich mal Copy&Paste. Leider weiss ich nicht wie man hier die Einrückung macht, Tab und Space geht nicht.

<Matlab 5.3>
ymin=0;
ymax=1;

begin=3.82
ende=3.87
schrittweite=0.0001

schrittanzahl = (ende-begin)/schrittweite

for m=begin/schrittweite + 2:ende/schrittweite
m2 = m - begin/schrittweite;
b(m2)=m*schrittweite;
y(1,m2)=0.1;
for n=2:200
y(n,m2)=y(n-1,m2)*b(m2)*(1 - y(n-1,m2)/ymax);
end
end

for m=begin/schrittweite + 2:ende/schrittweite
m2 = m - begin/schrittweite;
plot(b(m2),y(100:200,m2));
hold on;
end

axis([begin ende ymin ymax]);
</Matlab 5.3>

_________________
Gruß, dachdecker2

http://rettedeinefreiheit.de
Nikolas
Ehrenmitglied


Anmeldungsdatum: 14.03.2004
Beiträge: 1873
Wohnort: Freiburg im Brsg.

Beitrag Nikolas Verfasst am: 27. Jun 2004 15:44    Titel: Antworten mit Zitat

Zitat:
b(m2)=m*schrittweite;
hold on;
for n=2:200 (for i:=2 to 200 [in Pascal?])
axis([begin ende ymin ymax]);
Was bedeutet das? Ich kenne MathLab nicht und hab da ein paar Probleme. Gibt's in Mathlab nur end's und keine begin's??
_________________
Nikolas, the mod formerly known as Toxman.
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
dachdecker2
Administrator


Anmeldungsdatum: 15.06.2004
Beiträge: 1174
Wohnort: Zeppelinheim / Hessen

Beitrag dachdecker2 Verfasst am: 27. Jun 2004 16:04    Titel: Antworten mit Zitat

nun, da werd ich mal die Bedeutung der ganzen Wörter veröffentlichen Augenzwinkern

b ist ein eindimensionales Array, dass die Kontrollparameter, bei mir von begin bis ende mit der Schrittweite schrittweite enthält

ymin und ymax begrenzen die Vertikale Achse, alle Werte die auftreten, liegen zwischen 0 und 1

Es ist richtig, dass es kein "begin" wie in Pascal hier in MatrixLaboratory gibt. Die "end"s gehören zu den Forschleifen.

y ist ein zweidimensionales Array, das zu jedem b die 200 berechneten Funktionswerte enthält, aus dem Schließlich die hinteren 100 in das Diagramm kommen (2. Schleife).

mit hold on (im Gegensatz zu hold off) verhindert man, dass das ein neues Diagramm für jeden Schleifendurchlauf erstellt wird. Die neuen Punkte werden zu den bereits gezeichneten hinzugefügt.

der axis-Befehl legt die Skalierungen der Achsen fest, damit strecke ich das Diagramm auf "volle Größe" Augenzwinkern

Was besonders wichtig bei MatLab ist: der Doppelpunktoperator, den habe ich noch nicht in anderen Sprachen gesehen. mit : kann man Bereiche und Schrittweiten angeben:
1:5 wählt die Zahlen 1,2,3,4 und 5 aus
0:2:10 wählt 0,2,4,6,8 und 10
das geht natürlich auch mit Kommazahlen. Auf diese Weise kann man zb. von großen Matrizen (viele) einzelne Spalten oder Elemente ohne großen Aufwand selektieren.

_________________
Gruß, dachdecker2

http://rettedeinefreiheit.de
dachdecker2
Administrator


Anmeldungsdatum: 15.06.2004
Beiträge: 1174
Wohnort: Zeppelinheim / Hessen

Beitrag dachdecker2 Verfasst am: 28. Jun 2004 00:04    Titel: Antworten mit Zitat

Irgendwie hab ich nicht so richtig zum Thema beigetragen... (Asche auf mein Haupt)

Man kann einen bestimmten Kontrollparameter nicht für deine Bedingungen berechnen. Wenn du das Programm mal hernimmst, und die erste Bifurkation sehr stark vergrößerst, siehts du, dass diese Bifurkationen nicht exakt einem b zuzuordnen sind, sondern eher einem Bereich von b. Auf diesem Rechner hab ich kein MatLab drauf, ich werd morgen (wenn ichs nicht vergesse) das ganze mal auf dem anderen Rechner rechnen lassen und einen Screeny posten.

Man könnte natürlich mal Probieren, ob man Funktionen findet, mit denen man die Abschnitte zwischen den Bifurkationen (exakt) darstellen kann. Wenn es sowas geben sollte, dann kannst du das gesuchte b berechnen.

_________________
Gruß, dachdecker2

http://rettedeinefreiheit.de
dachdecker2
Administrator


Anmeldungsdatum: 15.06.2004
Beiträge: 1174
Wohnort: Zeppelinheim / Hessen

Beitrag dachdecker2 Verfasst am: 28. Jun 2004 23:02    Titel: Antworten mit Zitat

Ich hab da einige schicke Vergrößerungen des Feigenbaumdiagramms für euch:

http://www.websamba.com/dachdecker2/feigenbaum.gif
22kb groß, ist auch für Modemuser kein Problem smile

Hier das "große Ganze":
http://www.websamba.com/dachdecker2/feigenbaum1.gif
mit 46kb schon deutlich größer...

Und hier die Vergrößerung einer "Insel der Ordnung":
http://www.websamba.com/dachdecker2/feigenbaum2.gif
mit 97kb noch größer

_________________
Gruß, dachdecker2

http://rettedeinefreiheit.de
Nikolas
Ehrenmitglied


Anmeldungsdatum: 14.03.2004
Beiträge: 1873
Wohnort: Freiburg im Brsg.

Beitrag Nikolas Verfasst am: 29. Jun 2004 06:19    Titel: Antworten mit Zitat

hast du das mit MatLab gezeichnet??
_________________
Nikolas, the mod formerly known as Toxman.
Erwarte das Beste und sei auf das Schlimmste vorbereitet.
Gast






Beitrag Gast Verfasst am: 29. Jun 2004 12:40    Titel: Antworten mit Zitat

ja sicher, geht es bei dir nicht? Mein alter Mobilrecher brauch für sowas etwa 5 Minuten pro Bild und jede Menge Speicher (könnte ich noch optimieren)...

Bestimmt interpretiert MatLab die Befehle nur, ich hab schon extra mit ganzen Matrizen (statt mit Einzelwerten) rechnen lassen, da das die Spezialstrecke von MatLab sein soll und trotzdem ist es so langsam...

Bei etwas langer Weile mach ich noch ein C-Programm draus und Poste es mal smile
BlackJack



Anmeldungsdatum: 07.03.2004
Beiträge: 89
Wohnort: org 100h / Münsterland

Beitrag BlackJack Verfasst am: 29. Jun 2004 14:57    Titel: Antworten mit Zitat

also hatte mal ein delphi-programm geschrieben, dass das feigenbaum-diagram auf einem Celeron 633MHz in ca. 5 sekunden gezeichnet hat - und das mit maximal 1800 iterationen, von denen ich die letzten 1700 auch zeichnen liess... hier mal der code; man braucht nur einen button, 4 edits (edit1/2 für den zu berechnenden bereich, edit3 für die iterationen, edit4, ab wievielen iterationen der punkt aufgetragen werden soll) und eine checkbox (ob man ne skala haben will oder nicht). die farbe eines punktes richtet sich dabei danach, wieviele iterationen er schon hinter sich hat:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var fx,n,max,zeichn:integer;
    x,r,ab_wo,bis_wo:extended;
    s: string;
begin
  Refresh;
  ab_wo  := strtofloat(edit1.text);
  bis_wo := strtofloat(edit2.text);
  max    := strtoint(edit3.text);
  if max<=0 then
    exit;
  zeichn := strtoint(edit4.text);
  for fx := 0 to clientwidth-1 do
    begin
    r := ab_wo+fx/clientwidth*(bis_wo-ab_wo);
    x := 1/max;
    for n := 0 to max-1 do
      begin
      x := r*x*(1-x);
      if n>zeichn then
        canvas.pixels[fx,round(x*clientheight)] := {round(r*255/4)}
          round(n/max*255);
      end;

    if (fx mod (ClientWidth div 10) = 0) and (CheckBox1.Checked) then
      begin
      s := floattostr(r);
      Canvas.MoveTo(fx,ClientHeight);
      Canvas.LineTo(fx,ClientHeight-10);
      Canvas.TextOut(fx-Canvas.TextWidth(s) div 2,
        ClientHeight-10-Canvas.TextHeight(s),s);
      end;
    end;
end;


edit:
wenn man bei edit4 null angibt, sieht das echtmal total geil aus!!!

_________________
Auf ein gefettetes Backblech legen und bei zweihundert Grad für fünfzehn Minuten backen und KEINE EIER
Tool, Die Eier von Satan

Fraktal3D
dachdecker2
Administrator


Anmeldungsdatum: 15.06.2004
Beiträge: 1174
Wohnort: Zeppelinheim / Hessen

Beitrag dachdecker2 Verfasst am: 03. Jul 2004 16:30    Titel: Antworten mit Zitat

Hatte gestern nachmittag etwas zeit, und hab mal schnell die erste bifurkation bei b=3 stark vergrößert. das sichtbare Fenster hat folgende Abmessungen b=2,995..3,0025, y=0,65..0,68. Es wurden die letzten 4900 von 5000 Zeitschritten gezeichnet, die späteren sind dabei "röter".


<BC++ 5>

double xmin = 2.995,
xmax = 3.0025,
ymin = 0.65,
ymax = 0.68,
steps = 5000,
usedsteps = 4900;

long double xx, *yy;
int x, y, step, rot, gruen, blau;
img->~TImage();
img = new TImage(Owner);
img->ClientWidth = ClientWidth;
img->ClientHeight= ClientHeight;
yy = new long double[steps+1];

for (x=0;x<ClientWidth;x++)
{
yy[0] = 0.5;
xx = xmin + x*(xmax-xmin)/ClientWidth;
for (step=1;step<steps;step++)
yy[step] = yy[step-1] * xx * (1-yy[step-1]/1);
for (step=steps-usedsteps;step<steps;step++)
{
y = ClientHeight-int((yy[step]-ymin)/(ymax-ymin)*ClientHeight);
rot = 255 * (step-steps+usedsteps) / usedsteps;
gruen= 0;
blau = 0;
img->Canvas->Pixels[x][y] = rot+256*gruen+65536*blau;
}
}
Canvas->StretchDraw(ClientRect, img->Picture->Bitmap);
</BC++ 5>

Für interessenten würd ich das noch mit einer kleinen Oberfläche versehen Augenzwinkern und dann hochladen.

EDIT: Wäre sicherlich cool, wenn ich den Link aufschreiben würde Augenzwinkern
http://www.websamba.com/dachdecker2/feigenbaum3.gif

_________________
Gruß, dachdecker2

http://rettedeinefreiheit.de
Neue Frage »
Antworten »
    Foren-Übersicht -> Sonstiges