/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 13.04.2 ] */ /* [wxMaxima: comment start ] Nous définissons notre fonction et diverses suites récurrentes l'utilisant avec des valeurs initiales différentes: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ f(x):=x^2/2 - 1; u[n]:=if n=0 then 1+%i else ratsimp(f(u[n-1])); v[n]:=if n=0 then 1+2*%i else ratsimp(f(v[n-1])); w[n]:=if n=0 then 2+%i else ratsimp(f(w[n-1])); x[n]:=if n=0 then %i else ratsimp(f(x[n-1])); y[n]:=if n=0 then 0.5+0.3*%i else ratsimp(f(y[n-1])); z[n]:=if n=0 then 0.2+0.7*%i else ratsimp(f(z[n-1])); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Pour rappel, les points de convergence de nos suites sont: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ numer:false$ solve(f(x)-x); numer:true$ "Soit numériquement:"; solve(f(x)-x); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Nous pouvons alors visualiser les différentes valeurs d'une suite: [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ numer:false$ for i:0 thru 10 do display(u[i]); for i:0 thru 10 do display(abs(u[i])); /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Ou plus efficace, observer graphiquement le comportement des modules, parties réelles, parties imaginaires ... Par exemple pour 1+%i, la suite des modules converge et la suite des parties réelles aussi. La suite des parties imaginaires alterne entre -1 et 1. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ numer:false$ abs_u:makelist([n, abs(u[n])], n, 0, 20)$ real_u:makelist([n, realpart(u[n])], n, 0, 20)$ imag_u:makelist([n, imagpart(u[n])], n, 0, 20)$ wxplot2d([[discrete, abs_u], [discrete, real_u], [discrete, imag_u]], [style, points], [y,-1.5,2.5], [legend, "module", "reelle", "imaginaire"])$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Notez l'échelle logarithmique pour les deux graphiques qui suivent. La divergence est flagrante. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ numer:false$ abs_v:makelist([n, abs(v[n])], n, 0, 8)$ real_v:makelist([n, realpart(v[n])], n, 0, 8)$ imag_v:makelist([n, imagpart(v[n])], n, 0, 8)$ wxplot2d([[discrete, abs_v], [discrete, real_v], [discrete, imag_v]], [style, points], [logy], [legend, "module", "reelle", "imaginaire"])$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] On notera l'alternance des parties réelles et imaginaires. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ numer:true$ abs_w:makelist([n, abs(w[n])], n, 0, 8)$ real_w:makelist([n, realpart(w[n])], n, 0, 8)$ imag_w:makelist([n, imagpart(w[n])], n, 0, 8)$ wxplot2d([[discrete, abs_w], [discrete, real_w], [discrete, imag_w]], [style, points], [logy], [legend, "module", "reelle", "imaginaire"])$ "Parties réelles:";real_w; "Parties imaginaires:";imag_w; /* [wxMaxima: input end ] */ /* [wxMaxima: input start ] */ numer:true$ abs_x:makelist([n, abs(x[n])], n, 0, 20)$ real_x:makelist([n, realpart(x[n])], n, 0, 20)$ imag_x:makelist([n, imagpart(x[n])], n, 0, 20)$ wxplot2d([[discrete, abs_x], [discrete, real_x], [discrete, imag_x]], [style, points], [legend, "module", "reelle", "imaginaire"])$ "La suite est réelle et converge vers:"; x[100]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Maxima ne parvient pas à calculer les modules au delà du 7ème élement. Pourtant, la suite converge. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ numer:true$ abs_y:makelist([n, abs(y[n])], n, 0, 7)$ real_y:makelist([n, realpart(y[n])], n, 0, 20)$ imag_y:makelist([n, imagpart(y[n])], n, 0, 20)$ wxplot2d([[discrete, abs_y], [discrete, real_y], [discrete, imag_y]], [style, points], [legend, "module", "reelle", "imaginaire"])$ "La suite converge vers: ";y[100]; /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Ici encore, maxima ne parvient pas à calculer le module pour un rang supérieur à 6. Mais la suite converge bien. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ numer:true$ abs_z:makelist([n, abs(z[n])], n, 0, 6)$ real_z:makelist([n, realpart(z[n])], n, 0, 100)$ imag_z:makelist([n, imagpart(z[n])], n, 0, 100)$ wxplot2d([[discrete, abs_z], [discrete, real_z], [discrete, imag_z]], [style, points], [legend, "module", "reelle", "imaginaire"])$ "La suite converge vers";z[100]; /* [wxMaxima: input end ] */ /* Maxima can't load/batch files which end with a comment! */ "Created with wxMaxima"$