IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scilab Discussion :

syntaxe pour integrate, bug scilab ?


Sujet :

Scilab

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut syntaxe pour integrate, bug scilab ?
    Bonjour à tous,
    Je découvre scilab depuis hier soir, j'essaye de faire un peu d'analyse numérique pour me familiariser avec la syntaxe...

    Quand je fais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x=poly(0, "x")
    p=2*x+1
    integrate(p, 'x', 0, 1)
    Scilab se ferme et j'ai un segfault ( wtf ?? !!!)

    Alors je veux bien croire que la syntaxe n'est peut-être pas la bonne, mais je trouve Scilab un peu susceptible et sa réaction disproportionnée !

    Bref, j'ai deux questions :
    - Comment faire pour que mon code marche. J'ai besoin de rentrer la fonction ou le polynome avant dans une variable, p par exemple

    - Comment se fait-il que Scilab plante ainsi ? J'ai bossé 2h hier soir j'ai du avoir 2-3 segfaults... Je tourne sous linux debian, ok j'avoue j'ai une debian testing avec un noyau perso.

    Pour info, voici le code d'origine, c'est sur la fin, à simpson que ça déconne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    a=0;
    b=1;
    deff('y=f(x)', 'y=sin(x)-x');
     
    val1 = integrate('f(x)', 'x', a, b);
     
    print(%io(2), val1)
    val2=0;
    pas=0.01;
     
    for i=a:pas:(b-pas)
        val2 = val2+f(i)*pas;
    end;
    print(%io(2), "Riemann")
    print(%io(2), val2)
     
    val3=0
    for i=a:pas:(b-pas)
        val3 = val3+f(i+pas/2)*pas;
    end;
    print(%io(2), "Point milieu")
    print(%io(2), val3)
     
    val4=0
    for i=a:pas:(b-pas)
        val4 = val4 + ((f(i)+f(i+pas))/2)*pas;
    end
    print(%io(2), "Trapèzes")
    print(%io(2), val4)
     
    val5=0
     
    for i=a:pas:(b-pas)
        a1=i
        a2=i+pas/2
        a3=i+pas
        b1=f(a1)
        b2=f(a2)
        b3=f(a3)
        p = b1*((s-a2)*(s-a3)/((a1-a2)*(a1-a3)))+ b2*((s-a1)*(s-a3)/((a2-a1)*(a2-a3)))+ b3*((s-a2)*(s-a1)/((a3-a2)*(a3-a1)))
        val4 = val4 + integrate(p, 's', a1, a3)
    end
    print(%io(2), "simpson")
    print(%io(2), val4)

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 52 882
    Points
    52 882
    Par défaut
    Je ne suis pas un spécialiste mais la fonction integrate demande une chaine de caractères en premier argument d'entrée.

    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    x = poly(0, "x")
    p = 2*x+1
     
    pstr = pol2str(p)
     
    X = integrate(pstr, 'x', 0, 1)
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Ok ça marche, c'est ptête pas optimal mais au moins ça tourne, merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. syntaxe pour compilation conditionnelle ?
    Par tintin72 dans le forum C
    Réponses: 9
    Dernier message: 17/05/2005, 18h12
  2. [analyse de syntaxe] pour C et C++ sur Linux
    Par Madmac dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 10/07/2004, 06h37
  3. Réponses: 2
    Dernier message: 19/01/2004, 12h19
  4. [windows] recherche outils coloration syntax. pour -> htm
    Par hpfx dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 02/10/2003, 01h52
  5. Syntaxe pour avoir un seul resultat dans une requete
    Par Pompil dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/09/2003, 15h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo