Exercice scilab
Répondre à la discussion
Affichage des résultats 1 à 17 sur 17

Exercice scilab



  1. #1
    invite66d3397b

    Exercice scilab


    ------

    Bonjour,

    j'ai un exercice à faire très rapidement dont je ne trouve pas la réponse. Pouvez-vous m'aider ?


    On propose de refaire une expérience numérique spectaculaire qui a contribué

    à mettre en lumière un phénomène physique compliqué, le chaos.

    En simplifiant des modèles issus de la météorologie, on obtient un système

    (dépendant de trois paramètres : sigma, b et r) de trois équations, à trois inconnues
    : x, y et z, ces inconnues sont fonctions du temps t.

    .
    x = sigma (y ? x)
    .
    y = ?x z + r x ? y
    .
    z = x y ? b z
    .
    ou' sigma, r et b sont des réels positifs et x représente la dérivée partiel(x)/dérivée partiel(y)... Il s'agit de montrer sur cet exemple simple, l'effet papillon :

    le vol d'un papillon dans le ciel d'Amazonie, influe sur les déplacements d'air au dessus de

    la tour Eiffel.

    (a) Calculer x, y et z sur un intervalle de temps [0, T] assez grand (à vous de définir T !).

    Représentez x(t), y(t), et z(t).
    . .
    (b) Représenter aussi y(x), z(x), z(y), x(x), z(z).
    On pourra prendre sigma = 10, b = 8/3 , (x0, y0, z0) = (0, 1, 0).

    -----

  2. #2
    invite6a7988bf

    Re : Exercice scilab urgent

    Bonjour


    Quelle est ta question ?

  3. #3
    invite66d3397b

    Re : Exercice scilab urgent

    Ben en fait pour l'instant j'ai fait ça :
    function Y=F(X);
    X=[X(1);X(2);X(3)];
    X(1)=sigma*(X(2)-X(1)); X(2)=-x*z+r*x-y; X(3)=x*y-b*z;
    t=0:0.1:T
    X0=[0;1;0]
    endfunction

    En fait x=X(1), y=X(2), z=X(3)

    Je pense que c'est par là qu'il faut commencer mais je bloque...

  4. #4
    invite66d3397b

    Re : Exercice scilab urgent

    Oups je voulais dire function Y=F(X);
    X=[X(1);X(2);X(3)];
    Y(1)=sigma*(X(2)-X(1)); Y(2)=-X(1)*X(3)+r*X(1)-X(2); Y(3)=X(1)*X(2)-b*X(3);
    t=0:0.1:T
    X0=[0;1;0]
    endfunction

  5. A voir en vidéo sur Futura
  6. #5
    invite6a7988bf

    Re : Exercice scilab urgent

    Tu poses "function Y=F(X)" (je précise, sans ";" )

    Donc "Y" est la valeur de retour de ta fonction, or je ne la vois nulle part ailleurs. Il faut avoir à la fin de ta fonction "Y = ..."


    On peut écrire une fonction de cette manière, mais il existe en scilab "deff" qui permet d'écrire des fonctions mathématiques plus simplement et de manière plus condensé (voir cours 8 exemple 1).

    As-tu compris qu'il s'agit d'un système d'équation différentielle ? (voir cours 9 première page) "x" avec un point au dessus est signifie "dx/dt" dans cet exo.

  7. #6
    invite6a7988bf

    Re : Exercice scilab urgent

    function Y=F(X);
    X=[X(1);X(2);X(3)]; // cette ligne est inutile
    Y(1)=sigma*(X(2)-X(1)); Y(2)=-X(1)*X(3)+r*X(1)-X(2); Y(3)=X(1)*X(2)-b*X(3);
    t=0:0.1:T // attention, la variable "t" n'est utilisable qu'à l'intérieur de la fonction, il vaut mieux rentrer cette donnée directement dans la console. De toute façon, ces information ne sont utiles que pour la résolution du système à l'aide de "ode"
    X0=[0;1;0] // même chose
    endfunction

    et r sigma et b ?

  8. #7
    invite66d3397b

    Re : Exercice scilab urgent

    Les valeurs de sigma, et sont données dans l'exercice par contre combien dois je prendre pour r ?

  9. #8
    invite66d3397b

    Re : Exercice scilab urgent

    Voila ce que j'ai fait, j'ai pris r=2
    Par contre je n'ai pas répondu à la question calculer x,y et z. Comment dois-je faire ? En tout cas, merci de tes réponses !

    sigma=10;
    b=8/3;
    r=2;
    T=10;
    deff('dx=fct(t,x)','dx(1)=sigm a*(x(2)-x(1));dx(2)=-x(1)*x(3)+r*x(1)-x(2);dx(3)=x(1)*x(2)-b*x(3)')
    t0=0;
    x0=[0;1;0];
    t=0:0.1:T ;
    z=ode(x0,t0,t,fct);

    plot(t,z(1,: ))
    plot(t,z(2,: ))
    plot(t,z(3,: ))

  10. #9
    invite6a7988bf

    Re : Exercice scilab urgent

    C'est un paramètre supplémentaire. A toi de tester pour différentes valeurs, en faisant un "plot".

  11. #10
    invite6a7988bf

    Re : Exercice scilab urgent

    Que représente "z(1,: )" ?

  12. #11
    invite66d3397b

    Re : Exercice scilab urgent

    z(1,: ) veut dire que tu prends la première ligne de z c'est-à-dire ici dx(3)
    C'est ce qui est marqué dans le cours 9

  13. #12
    invite6a7988bf

    Re : Exercice scilab urgent

    "z" est une matrice de trois lignes et, d'après la taille de "t", de 101 colonnes.

    "z" est aussi solution de ton système d'équation différentielle.

    Donc z(1,: ) i.e. la première ligne de "z" représente...

  14. #13
    invite66d3397b

    Re : Exercice scilab urgent

    dx(1) je voulais dire...

  15. #14
    invite66d3397b

    Re : Exercice scilab urgent

    Si je fais disp(z(1,: )) ca me donne les solutions de dx1 non ?

  16. #15
    invite6a7988bf

    Re : Exercice scilab urgent

    lis attentivement la première page du cours 9, tu as x(t) = z(1,: )

  17. #16
    invite66d3397b

    Re : Exercice scilab urgent

    J'ai relu et je ne vois où c'est écrit. Pour moi c'est z(1,=dx(t)

  18. #17
    invite6a7988bf

    Re : Exercice scilab urgent

    Déjà dx(t)/dt = sigma(y(t) - x(t)), et rien d'autre.

    Et si je lis le cours :

    "... z=ode(y0,t0,t,fct) permet de calculer et de stocker dans la variable z les solutions du système d’équations différentielles(d’inconnues y1 et y2) [...]
    aux instants t = 0, 0.1, 0.2, ... , jusqu’à t = 10.

    Pour tracer ensuite y1 en fonction de t, on pourra taper plot(t,z(1, : ))"

    y1 = z(1, : ) voila tout.

Discussions similaires

  1. help scilab
    Par invitef39e86ba dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 06/12/2009, 10h53
  2. Scilab
    Par invitefbbdec8d dans le forum Électronique
    Réponses: 0
    Dernier message: 27/10/2009, 21h36
  3. Scilab
    Par invite0d229c95 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 03/12/2008, 10h20
  4. scilab
    Par invitec3e85369 dans le forum Électronique
    Réponses: 0
    Dernier message: 26/03/2007, 15h00
  5. scilab
    Par invite8c632a8c dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 20/01/2007, 16h30