Monte Carlo
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Monte Carlo



  1. #1
    inviteba67e777

    Monte Carlo


    ------

    Hello

    Je débute avec scilab, j'y connais rien, mais j'ai besoin de faire une simulation, voilà ce que j'ai fais :

    -->function [y] = rac(x)
    -->y=4*sqrt(1-x*x)
    -->endfunction

    -->rac(0.5)
    ans =

    3.4641016

    -->function [E,I] = montcar(a,b,n)
    -->for i = 1:n
    -->c=rac(a+(b-a)*rand())
    -->s=s+c
    -->end
    -->I=(b-a)*s/n
    -->endfunction

    -->montcar(0,1,30)
    !--error 4
    Variable non définie: s

    at line 3 of function montcar called by :
    montcar(0,1,30)


    Qu'est ce qui ne va pas ??

    -----

  2. #2
    Coincoin

    Re : Monte Carlo

    Salut,
    Ce qui ne va pas c'est que s est non définie...
    Tu dis s=s+c mais au premier passage il ne connaît pas s. Il faut l'initialiser (par exemple s=0 avant la boucle).
    Encore une victoire de Canard !

  3. #3
    phryte

    Re : Monte Carlo

    Bonjour.
    E n'est pas attribué.

  4. #4
    inviteba67e777

    Re : Monte Carlo

    Ok merci.
    J'ai un peu avancé dans mes connaissances de scilab.
    J'ai appris qu'on peut créer des fichiers "environnement" à charger dans la console quand on veut utiliser les fonctions définies dans ces fichiers "environnements".

    Alors voilà ce que j'ai écrit dans un fichier "environnement" :

    function [I] = montec(a,b,n)
    s=0;
    c=0;
    for i = 1:n
    c=4*sqrt(1-(a+(b-a)*rand())*(a+(b-a)*rand());
    s=s+c;
    end
    I=(b-a)*s/n;
    endfunction

    et quand je charge ça sur ma console j'ai ce message :

    if ~isempty(%fileToLoad) then load(%fileToLoad); disp(msprintf(gettext("Environ ment loaded.\n")));
    !--error 246
    Fonction non définie pour le type d'argument donné.

    vérifier les arguments ou définir la fonction %_load pour la surcharge.

    while executing a callback

    Bon j'en déduis que j'ai un problème avec mes variables mais je ne vois pas... et vous ?

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

    Re : Monte Carlo

    C'est bon il s'écute finalement, j'avais oublié une parenthèse à la ligne où il y a la racine carré.

    Mais ce programme devrait me donner avec montec(0,1,n) avec très grand, une approximatin de pi, et avec n=3000 je récupère 3,41....
    Quelqu'un voit le problème ?

  7. #6
    phryte

    Re : Monte Carlo

    Bonjour.
    Je trouve :
    >montecarlo(0,1,3000)
    ans =

    3.143785
    Fais plusieurs tirage ou augmente le nombre n.

Discussions similaires

  1. Méthode Monte Carlo
    Par inviteba67e777 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 19/11/2008, 22h26
  2. Méthode de Monte Carlo
    Par inviteba67e777 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 11/10/2008, 00h39
  3. Monte charge électrique
    Par invite8edc6113 dans le forum Physique
    Réponses: 5
    Dernier message: 06/09/2008, 10h08
  4. aspirateur philips (city line monte carlo 1700w)
    Par invitee19ad74a dans le forum Dépannage
    Réponses: 2
    Dernier message: 18/05/2007, 11h16
  5. methode de monte carlo
    Par invite32a2ffe8 dans le forum Mathématiques du supérieur
    Réponses: 10
    Dernier message: 17/03/2007, 21h08