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 :

message d'erreurs avec ode


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut message d'erreurs avec ode
    Bonjour à tous,
    nous sommes un groupe d'étudiants qui faisons un projet sur des lanceurs electromagnetiques.

    Afin de modéliser notre probleme, nous sommes amenés à résoudre un système différentiel suivant

    on a donc réalisé quelques fonctions sur matlab, dans un premier temps pour les inductances L1,L2,M

    puis pour résoudre le système différentiel, nous avons fait :
    function [ ypoint ] = verite( t,y )
    %UNTITLED2 Summary of this function goes here
    % systeme differentiel 4*4, modelisant l'induction mutuelle entre deux
    % spires...r1,r2 rayons des spires, Vc tension aux bornes de la capacité
    % g acceleration gravitationnelle, m masse de la spire qui part, a1 a2
    % rayon des fils, w1 w2 resistances des fils
    global r1 r2 vc g m a1 a2 w1 w2
    ypoint(1)=(1/(inductance(r1,a1)-mutuelle(r1,r2,y(3))^2/inductance(r2,a2)))*(vc-w1*y(1)+(mutuelle(r1,r2,y(3))/inductance(r2,a2))*(w2*y(2)+mutuellez(r1,r2,y(3))*y(4)*y(1))-mutuellez(r1,r2,y(3))*y(4)*y(2));
    ypoint(2)=(1/inductance(r2,a2))*(-w2*y(2)-(mutuelle(r1,r2,y(3))/(inductance(r1,a1)-(mutuelle(r1,r2,y(3))^2/inductance(r2,a2))))*(vc-w1*y(1)+(mutuelle(r1,r2,y(3))/inductance(r2,a2))*(w2*y(2)+mutuellez(r1,r2,y(3))*y(4)*y(1))-mutuellez(r1,r2,y(3))*y(4)*y(2))-mutuellez(r1,r2,y(3))*y(4)*y(1));
    ypoint(3)=y(4);
    ypoint(4)=-g+(mutuellez(r1,r2,y(3))*y(1)*y(2))/m;

    ypoint=ypoint';
    end
    et

    %ici on definit les parametres du problemes, les conditions initiales


    global r1 r2 vc g m a1 a2

    %initialisation des parametres
    r1=0.2;
    r2=0.1;
    vc=230;
    g=9.81;
    m=1;
    a1=0.001;
    a2=0.001;
    tfinal=60;

    %condition initiale
    y01=0;
    y02=0;
    y03=0;
    y04=0;

    %resolution
    [t,y]=ode45('verite',[0 tfinal],[y01 y02 y03 y04]);

    %extraction des elements du vecteur y
    y1=y(:,1);
    y2=y(:,2);
    y3=y(:,3);
    y4=y(:,4);

    %trace des resultat
    subplot(221)
    plot(t,y1)

    subplot(222)
    plot(t,y2)

    subplot(223)
    plot(t,y3)

    subplot(224)
    plot(t,y4)
    finalement nous avons les messages d'erreur suivant:
    ??? In an assignment A(I) = B, the number of elements in B and
    I must be the same.

    Error in ==> verite at 8
    ypoint(1)=(1/(inductance(r1,a1)-mutuelle(r1,r2,y(3))^2/inductance(r2,a2)))*(vc-w1*y(1)+(mutuelle(r1,r2,y(3))/inductance(r2,a2))*(w2*y(2)+mutuellez(r1,r2,y(3))*y(4)*y(1))-mutuellez(r1,r2,y(3))*y(4)*y(
    Error in ==> 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, ...

    Error in ==> solveverite at 23
    [t,y]=ode45('verite',[0 tfinal],[y01 y02 y03 y04]);
    pouvez vous nous aiguiller ?
    merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 640
    Par défaut
    Salut,

    Citation Envoyé par launcher Voir le message
    on resoud dignement le petit systeme d'equa diff non lineaire a la con
    N'oubliez pas d'enlever ca si vous devez rendre votre programme

    Pour ce qui est du problème, regarder la FAQ

    ??? In an ....

    En gros vous essayez de faire rentrer x valeurs dans un vecteur ne pouvant en contenir que y.

    Regardez le résultat de cette équation : (1/(inductance(r1,a1)-mutuelle(r1,r2,y(3))^2/inductance(r2,a2)))*(vc-w1*y(1)+(mutuelle(r1,r2,y(3))/inductance(r2,a2))*(w2*y(2)+mutuellez(r1,r2,y(3))*y(4)*y(1))-mutuellez(r1,r2,y(3))*y(4)*y(2));

    et voyez le nombre d'élément qu'il retourne. Si ca doit être 1 scalaire, c'est qu'il y a une erreur quelque part...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut
    merci Merel,

    on a essayé effectivement de decouper le probleme en plusieurs petits, et a chaque fois ca marche. Cependant lorsque l'on regroupe le tout, ca ne marche plus...

    on y retourne et a tres bientot

    merci encore

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 3
    Par défaut
    et voyez le nombre d'élément qu'il retourne. Si ca doit être 1 scalaire, c'est qu'il y a une erreur quelque part...
    que voulez vous dire par la? on obtient bien un scalaire non?

Discussions similaires

  1. message d'erreur avec mysql
    Par ulysse031 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 07/02/2007, 19h23
  2. les messages d'erreurs avec "yacc/bison"
    Par minirop dans le forum C
    Réponses: 6
    Dernier message: 20/12/2006, 18h17
  3. message d'erreur avec le Run Time Access 2003
    Par barbu44 dans le forum Runtime
    Réponses: 3
    Dernier message: 10/12/2006, 14h03
  4. message d'erreur avec borland c++
    Par sally042 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 06/12/2006, 15h41
  5. Message d'erreur avec Bulk Insert
    Par Shivas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/07/2005, 12h03

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