> restart:
TP 03
Itérations et points fixes
Rappel de consignes
(1) titre en "Times New Roman", corps 36,
NOM Prénom - groupe
tp03 - date
(2) sauvegarder "souvent"
(3) imprimer : paginer (Format/Page_Number)
puis File/Preview.
enfin imprimer en deux colonnes
>
Points fixes
> (1- z)/(z+2); whattype(%);
> (1- z)/(z+2): f:= unapply(%, z); whattype(%);
> plot(f(t), t=-10..10);
>
plot(f(t), t=-10..10, view=[-10..10, -10..10],
discont= true, color=black, linestyle=16),
plot(t, t=-10..10): display(%); pl1:=%:
> alpha, beta:= solve(f(z)=z);
> fsolve(f(z)=z); fsolve(f(z)=z, z=-5..0);
> ka, kb:= D(f)(alpha), D(f)(beta);
> rationalize(ka);
> ka, kb:= (rationalize@D(f))(alpha), (rationalize@D(f))(beta);
Ils sont inverses :
> expand(ka*kb);
Pourquoi donc ?
>
>
Tracé de l'escargot
> x0:= -1.; li:= seq( (f@@k)(x0), k= 0..5);
> plots[pointplot]([[-1,-1], [-1,2], [2,2]], style=line, color=green);
> plots[pointplot]([-1,-1,-1,2,2,2], style=line, color=green);
>
plots[pointplot]([-1$3,2$4,-0.25$4,.714 $3], style=line, color=green):
display(%, pl1);
Opérateur de répétition
> 3 $ 4; x$ 5;
Adressage dans une liste
>
li;
li[1]; li[2..3]; li[-2];
> suite:= li[1]$3, seq(X$4, X= li[2..-2]), li[-1]$3 ;
> pl3:= plots[pointplot]([suite ], style=line, color=green):
> display(pl1, pl3, view=[-1..3, -1..2.5], scaling=constrained);
>
Un autre escargot
> x0:= -6.; li:= seq( (f@@k)(x0), k=0..8);
> pl4:= plots[pointplot]([li[1]$3, seq(X$4, X=li[2..-2]), li[-1]$3 ], style=line, color=green):
repérage de coordonnées sur le graphe
> display(pl1, pl4, view=[-7..4, -7..4], tickmarks=[[-6,4],[-6,4]]);
>
Preuve de convergence
> phi:= unapply( (z-beta)/(z-alpha),z);
> 'theta=phi(z), Theta=phi(f(z))'; eqs:= {%};
>
solve(eqs, {z, Theta});
select(has,%,Theta); (factor@expand@rationalize@op)(%);
>
>
>