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

Calcul scientifique Python Discussion :

scipy integrate odeint


Sujet :

Calcul scientifique Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 32
    Points : 10
    Points
    10
    Par défaut scipy integrate odeint
    Bonsoir,

    J'ai trouvé des problèmes dans le maniement de la fonction scipy.integrate.odeint et quand j'ai cherché qu'elle servait à intégrer un système d'équations différentielles ordinaires, et que ses arguments sont : scipy.integrate.odeint(func, y0, t, args=(), Dfun=None, col_deriv=0, full_output=0, ml=None, mu=None, rtol=None, atol=None, tcrit=None, h0=0.0, hmax=0.0, hmin=0.0, ixpr=0, mxstep=0, mxhnil=0, mxordn=12, mxords=5, printmessg=0) . Le site explicite aussi à quoi sert chaque argument mais comme c'est en anglais je n'ai pas bien compris. Je sais que func désigne la fonction qui définit notre système d'équations, y0 ce sont les conditions initiales, t les points où on calcule les solutions du système différentiel, Dfun c'est le jacobien de la fonction func. Mais pour les autres arguments je n'ai pas compris à quoi ils servaient ( aussi pour Dfun, je ne sais pas comment m'en servir ).
    J'ai aussi une autre question, j'ai toujours utilisé odeint avec Numpy. C'est-à-dire que j'écris t=np.array([...]) mais aussi pour y0 et aussi ma func retourne ( quand c'est nécessaire ) du np.array([...]). J'aimerai savoir si c'est nécessaire, ou je peux ne faire qu'entrer et retourner des listes.

    J'espère que vous pourrez m'aider à comprendre comment fonctionne cette fonction afin que je puisse m'en servir de manière optimale.

    Merci d'avance pour votre aide,

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Une simple recherche de scipy.integrate.odeint sur Internet vous permettrait de récupérer nombre de cours de prépas et autres contenant des exemples d'utilisation qui répondent à la plupart de vos questions.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 32
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Les documents des classes préparatoires n'offrent pas de connaissance approfondie pour l'utilisation de cette fonction. Déjà pour la question de la nécessité des tableaux array je ne trouve aucun document qui la traite. Tous les documents des classes préparatoires francaises utilisent Numpy pour travailler avec odeint, mais j'ai vu plusieurs sites anglais qui n'utilisent pas Numpy. Et pour les autres paraamètres de la fonction odeint aucun document des classes préparatoires ( du moins les pdfs qui s'affichent lorsqu'on cherche des documents sur odeint relatifs aux classes préparatoires ) ne les traite.

    Merci d'avance,

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par ZhaoZhao Voir le message
    Déjà pour la question de la nécessité des tableaux array je ne trouve aucun document qui la traite.
    Je ne sais pas comment vous lisez les documents que vous récupérez mais vous y trouvez des choses comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> from scipy.integrate import odeint
    >>> def f(y,_):  return y
    ...
    >>> y=odeint(f,1,[1,2,3])
    >>> y
    array([[ 1.        ],
           [ 2.71828198],
           [ 7.38905659]])
    >>>
    qui répondent déjà à cette question.

    Ceci dit si quelqu'un a du temps pour vous expliquer à quoi servent les différents paramètres et dans quels cas les utiliser, il vous suffit d'attendre qu'il se manifeste.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 32
    Points : 10
    Points
    10
    Par défaut
    Bonjour,

    Merci pour votre réponse. Je ne donnerai pas la référence du document dont est extrait votre code ( peut être que votre document et le mien ne sont pas les mêmes, mais sur le mien se trouve aussi le même code ) et dans la partie du code que vous omettez grâce à des points de suspension se trouvait t=np.linspace(0,1,3), n'était-il pas possible de prendre t comme une simple liste ? Dans les premières pages de son cours, le professeur explique qu'on peut avoir les même résultats avec une liste, arange et linspace, mais les même résultats en terme de points qu'on obtient, pas la classe ( ou le type ) de l'objet en question. Et il n'aborde pas si odeint nécessite réellement des array.

    Sinon, oui je devrai attendre que quelqu'un qui ait du temps et de la volonté de le faire, c'est bien le principe d'un forum de toute façon.

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par ZhaoZhao Voir le message
    dans la partie du code que vous omettez grâce à des points de suspension se trouvait t=np.linspace(0,1,3), n'était-il pas possible de prendre t comme une simple liste ?
    La documentation dit "une séquence".

    Citation Envoyé par ZhaoZhao Voir le message
    Dans les premières pages de son cours, le professeur explique qu'on peut avoir les même résultats avec une liste, arange et linspace
    Ce sont des exemples de différents objets supposés connus qui pourraient être utilisables. Leur point commun est d'être des séquences (une chose de base côté Python).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 32
    Points : 10
    Points
    10
    Par défaut
    Je n'ai jamais vu le mot séquence jusqu'à présent dans mon apprentissage de Python mais plutôt itérateur. Pour moi une liste par exemple est un itérateur. Mais je suppose que séquence et itérateur sont la même chose ?

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par ZhaoZhao Voir le message
    Je n'ai jamais vu le mot séquence jusqu'à présent dans mon apprentissage de Python mais plutôt itérateur.
    Ouvrez votre tuto. préféré et cherchez y le chapitre qui parle des séquences ou sinon vous avez toujours la documentation du langage.

    Sûr que si odeint vous parle de choses que vous ne connaissez pas encore... A vous de prendre le temps d'apprendre les bases du langage (on ne peu pas le faire à votre place) et sans elles, difficile de lire la documentation, les cours d'un prof de prépa...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  9. #9
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2019
    Messages : 32
    Points : 10
    Points
    10
    Par défaut
    Bien sûr que je ne vous demande pas d'apprendre à ma place, cela est absurde. Sinon, vous pouvez vérifier les cours de prépa vous n'y trouverez pas de séquence. J'ai moi-même étudié dans des cours de prépa et je sais de quoi je parle. Il est incorrect de penser que les cours de prépa sont suffisants pour pouvoir tout comprendre sur la fonction odeint et on peut le remarquer en lisant sur la documentation que vous avez envoyé et qui concerne odeint que Dfunc désigne la jacobienne de func, et vous pourrez chercher tous les livres de Python de prépa, cours de professeurs de prépa, TPs de prépa, oraux de Centrale qui mêlent maths et info ou physique et info, que Dfunc n'est jamais évoquée.
    Excusez-moi de vous dire cela, mais je pense que tout l'effort et le temps qui ont été accordé à cette discussion sont vains, puisque vous auriez pu me dire dès le début que d'après la documentation odeint marche pour toute séquence et donc en particulier pour les listes. Tout de même, merci d'avoir pris la peine de répondre.

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par ZhaoZhao Voir le message
    puisque vous auriez pu me dire dès le début que d'après la documentation odeint marche pour toute séquence et donc en particulier pour les listes.
    Certes mais vous êtes supposé avoir lu la documentation et appris les bases de Python avant de poster... Ce que je suppose à priori.

    Et lorsque je dois utiliser une fonction dont la description me paraît obscure, je cherche un peu sur Internet pour voir ce que d'autres ont bien pu faire avec. En ce sens, je ne fais que partager mon expérience sur ce sujet.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. scipy.integrate.ode et numpy.view
    Par lg_53 dans le forum Calcul scientifique
    Réponses: 0
    Dernier message: 08/11/2017, 16h19
  2. Vitesse de calcul de scipy.integrate
    Par Kuchikhi dans le forum Calcul scientifique
    Réponses: 2
    Dernier message: 05/04/2014, 00h59
  3. integration de repertoire dans ma webapp
    Par thomy dans le forum JBuilder
    Réponses: 2
    Dernier message: 04/06/2003, 10h34
  4. calcul integral en c
    Par Anonymous dans le forum C
    Réponses: 3
    Dernier message: 11/01/2003, 11h32
  5. Réponses: 10
    Dernier message: 27/08/2002, 23h24

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