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

MATLAB Discussion :

ode45 avec 2 paramétres


Sujet :

MATLAB

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 8
    Points
    8
    Par défaut ode45 avec 2 paramétres
    Bonjour à toutes et à tous,
    J'ai créé une fonction pour résoudre un système en fonction de temps avec la fonction ode45, elle fonctionne mais j'aimerai que un paramétré varie lors de exécution.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    function dy=famorti(t,y)
    k=2
    m=1
    w0=sqrt(k/m)
    x0=1
    dy(1)=y(2);
    dy(2)=x0*w0*cos(w*t)-(w0^2)*y(1);
    code d'exécution
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [t,y] = ode45('famorti',[0 5],[0 0]);
    y1=y(:,1);
    y2=y(:,2);
    bon, le code fonction si je le fonctionne avec w=constante, mais j'aimerai que w soit variable de 1 à 10 par exemple et que je peut présente mes résultats en fonction de w.
    merci d’avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    En utilisant le symbole @ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function dy=famorti(t,y,w)
    k=2;
    m=1;
    w0=sqrt(k/m);
    x0=1;
    dy(1,1)=y(2);
    dy(2,1)=x0*w0*cos(w*t)-(w0^2)*y(1);
    (attention la fonction famorti doit retourner un vecteur colonne)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    w = ...
    [t,y] = ode45(@(t,y) famorti(t,y,w),[0 5],[0 0]);
    y1=y(:,1);
    y2=y(:,2);

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    merci Winjerome,
    j’essayai avec votre proposition, mais pas de résultats ;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    ??? Subscripted assignment dimension mismatch.
     
    Error in ==> famorti at 10
    dy(2,1)=X0*w0*cos(w*t)-(w0^2)*y(1);
     
    Error in ==> @(t,y)famorti(t,y,w)
     
     
    Error in ==> funfun\private\odearguments at 110
    f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.
     
    Error in ==> ode45 at 173
    [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

  4. #4
    Invité
    Invité(e)
    Par défaut
    Le w rentré doit être un scalaire. S'il doit y avoir plusieurs valeurs, elles doivent être rentrées une par une dans une boucle.

Discussions similaires

  1. ode45 avec un paramètre fixe
    Par Hendrix2142 dans le forum MATLAB
    Réponses: 3
    Dernier message: 22/04/2013, 11h58
  2. [ADO/Access] Appel d’une requête avec des paramètres
    Par Taxenna dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/12/2004, 14h58
  3. Problème avec les paramètres date BDE/ODBC Oracle/XP Pro
    Par Bloon dans le forum Bases de données
    Réponses: 3
    Dernier message: 06/10/2004, 10h09
  4. Erreur sur une fonction avec des paramètres
    Par Elois dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 05/05/2004, 21h00
  5. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11

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