restart:with(plottools): with(plots):
plotopts := -0.2..1.2, scaling = constrained;
it_vline := proc(x::float, n::nonnegint)
local xn;
if n=0 then
line([x, x], [x, f(x)]);
else
xn := (f@@n)(x);
line([xn, xn], [xn, f(xn)]);
end if;
end proc:
it_hline := proc(x::float, n::nonnegint)
local xn;
if n=0 then
line([x, f(x)], [f(x), f(x)]);
else
xn := (f@@n)(x);
line([xn, f(xn)], [f(xn), f(xn)]);
end if;
end proc:
first_n_lines := proc(x::float, n::nonnegint)
[seq(it_vline(x, i), i=0..floor(n/2)), seq(it_hline(x, i), i=0..floor(n-1)/2)];
end proc:
Kaotikus viselked\303\251s
\303\211rz\303\251kenys\303\251g a kezdeti felt\303\251telekre
mu := 4; f := x-> mu*x*(1-x);
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.7, n)), n=0..10):
d1 := display(conv_anim, insequence = true):
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.71, n)), n=0..10):
d2 := display(conv_anim, insequence = true):
display({d1, d2});
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.7, n)), n=0..16):
d1 := display(conv_anim, insequence = true):
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.701, n)), n=0..16):
d2 := display(conv_anim, insequence = true):
display({d1, d2});
Topologikus tranzitivit\303\241s.
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.7, n)), n=0..100):
display(conv_anim, insequence = true);
Periodikus pontok.
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.25, n)), n=0..20):
display(conv_anim, insequence = true);
K := 7; #K periodusu pont
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(
(1-cos(evalf(40*Pi/(2^K-1))))/2, n)), n=0..20):
display(conv_anim, insequence = true);
De numerikus instabilit\303\241s van!
Digits := 10;
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(
(1-cos(evalf(40*Pi/(2^K-1))))/2, n)), n=0..100):
display(conv_anim, insequence = true);
Struktur\303\241lis stabilit\303\241s
mu := 3.1;
f := x -> mu*x*(1-x);
Az eredeti.
conv_anim := seq(display(plot({f, x->x}, 0..1, scaling=constrained), first_n_lines(0.09, n)), n=0..50):
display(conv_anim, insequence = true);
perturb := x -> 1/70*sin(30*x);
plot(perturb, 0..1, -0.1..0.1);
f := x-> mu*x*(1-x) + perturb(x);
plot({f, g}, 0..1, numpoints = 1000);
A perturb\303\241lt f\303\274ggv\303\251ny.
conv_anim := seq(display(plot({f, x->x}, 0..1, scaling=constrained), first_n_lines(0.7, n)), n=0..50):
display(conv_anim, insequence = true);
Sarkovszkij-t\303\251tel: specilis eset
mu := 3.839;
f := x -> mu*x*(1-x);
conv_anim := seq(display(plot({f, x->x}, 0..1, scaling=constrained), first_n_lines(0.09, n)), n=0..50):
display(conv_anim, insequence = true);
L := fsolve((f@@3)(x) = x);
a := L[3]; b := L[5]; c:= L[7];
f(a)-b, f(b)-c, f(c)-a;
plot([f, f@@2, x->b, x->c, x->a], b..c, color=["blue", "red", "green", "green", "green"]);
fsolve(f(x) = b, x=0.8..0.9);
plot([f, f@@2, x->b, x->c, x->a], b..0.831, color=["blue", "red", "green", "green", "green"]);
plot([f@@2, f@@3, x->b, x->c, x->a], 0.68..0.831, color=["blue", "red", "green", "green", "green"]);
plot([f@@3, f@@4, x->b, x->c, x->a], 0.68..0.77, color=["blue", "red", "green", "green", "green"]);
plot([f@@4, f@@5, x->b, x->c, x->a, x->x], 0.68..0.725, color=["blue", "red", "green", "green", "green", "black"]);
plot([f,f@@5, x->b, x->c, x->a, x->x], 0..1, color=["blue", "red", "green", "green", "green", "black"]);
Bifurk\303\241ci\303\263
mu :=2.8; f := x-> mu*x*(1-x);
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.1, n)), n=0..40):
display(conv_anim, insequence = true);
mu :=3.2; f := x-> mu*x*(1-x);
conv_anim := seq(display(plot({f, x->x}, plotopts), first_n_lines(.09, n)), n=0..40):
display(conv_anim, insequence = true);
S:= {}:
for mu from 2.8 to 3.7 by .005 do
x := 1/2;
for n from 1 to 100 do
x := f(x);
od;
for n from 1 to 10 do
x := f(x);
S := S union {[mu, x]};
od;
od:
nops(S);
pointplot(S);