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 :

Scilab 5.5.2 vs. Scilab 6.0.2 et utilisation de la fonction ode


Sujet :

Scilab

  1. #1
    Candidat au Club
    Homme Profil pro
    chomeur
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Scilab 5.5.2 vs. Scilab 6.0.2 et utilisation de la fonction ode
    Bonjour à tous,

    Je suis débutant en scilab et je fais des petits programmes plus ou moins bien scriptés et je me suis aperçu que pou l'un d'entre eux, il tourne bien avec Scilab 5.5.2 mais exactement le même script sous Scilab 6.0.2 me dit:
    " Un programme est à l'origine du dysfonctionnement du programme. Fermez le programme."
    Je n'ai pas d'autre choix que de fermer Scilab 6.0.2.
    Sauriez-vous à quoi cela pourrait être dû ? Est-ce-que 5.5.2 est plus robuste ?

    D'autre part, j'ai à résoudre un système tel que:
    d y(s(x)) / dx = f(s) et y( s(x) ) = g ( s(x) )

    Habituellement pour utiliser ode, on a plutôt des systèmes tels que:
    dy(x)/dx = f(y,x)

    Donc dans mon cas je ne suis pas arrivé à m'en sortir avec ode.
    Ce que j'ai fait c'est écrire:
    y(i+1) - y(i) = f(s(i+1)) x delta_x
    j'ai les conditions initiales
    s(0) = 0 / y(0) = 0 et delta_x est un pas que je m'impose
    Donc j'ai
    y(1) = y(0) + f(s1) x delta_x
    et y(1) = g(s(1))
    Donc après je calcule s(1) tel que
    y(0) + f(s(s1) x delta_x - g(s(1) = 0 avec la fonction fslove
    et je fais cela de proche en proche.

    je me demandais s'il y aurait une façon plus élégante de résoudre ce genre de problème.
    Merci

    Phoudha

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Ingénieur
    Inscrit en
    Novembre 2020
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2020
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Pour dériver utilisez peut être la fonction "diff".

    Un exemple avec une fonction type y=x² de 1 à 10.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    x = (1:10)
     
    function y=f(x)
        y = x^2
    endfunction
     
    delta = diff(f(x))./diff(x)
    Cordialement.

Discussions similaires

  1. Réponses: 8
    Dernier message: 11/04/2014, 12h58
  2. Réponses: 2
    Dernier message: 02/09/2007, 10h17
  3. Scilab sous Linux
    Par awalle dans le forum Scilab
    Réponses: 4
    Dernier message: 07/05/2007, 23h21
  4. Appeler Scilab depuis Visual C++
    Par bassabo dans le forum Scilab
    Réponses: 1
    Dernier message: 20/05/2006, 17h22

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