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 :

Bug après X itérations


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut Bug après X itérations
    Bonjour,

    étant nouveau je ne sais pas trop où poster, j'ai trouvé ce forum alors navré si jamais je ne suis pas au bon endroit.

    Après de multiples recherches sur le net, je n'ai pas trouvé de solutions à mon problème, en fait je ne sais pas comment appeler ce "bug".
    Je vous explique : j'écris un code pour modéliser des écoulements diphasiques, je vais pas faire dans le détail, mais en gros je lance mon code sur 10000 itérations de temps. Jusqu'ici tout va bien.
    Sauf qu'hier, j'ai décidé de créer un dossier secondaire, pour avoir un second workspace pour faire des runs de cas tests différents en même temps que mon premier programme. Les deux se sont arrêtés après un certain nombre d'itérations.
    Evidemment, je me dis que le problème vient de la mémoire. Je supprime alors ce second dossier, mais le souci c'est que ça remarche pour certains cas tests, pour d'autres non. Alors soit le problème ne vient pas de la mémoire mais de la mathématique, soit de la mémoire...

    Mon affichage :
    q = 1
    q = 2
    ...
    q = x et il s'arrête tout en restant "occupé"
    Donc mon petit doigt me dit que ça vient de mon code et non de la mémoire, mais j'aimerais avoir d'autres avis si possible. Merci pour votre temps !


    Edit : Je tiens à dire que le même cas test marchait avant la création du second dossier...

  2. #2
    Membre éprouvé
    Homme Profil pro
    Ingénieur opto-électronique
    Inscrit en
    Avril 2010
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur opto-électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2010
    Messages : 129
    Par défaut
    Pourrais tu nous montrer ton code, qu'on puisse savoir ce qu'il en est ?

  3. #3
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut
    Bah écoute, j'aimerai bien, mais y a plusieurs scripts appelant des fonctions appelant d'autres scripts...

    Ma boucle principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for q = 1:M
        V = schema_exp(U);
        U = V;
        clear V
        F = [F;flux(U)];
        Res = [Res;U];
        [q, pow, epsilon_capi]
    end

    Res et F sont à la fin des matrices [10001, 100], et lorsque j'exécute, cela me fait "Too many elements" pour leur min et max à la 6471ème itération...

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    tu peux déjà commencer à pré-allouer de la mémoire pour tes variables :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    F = zeros(1001,100);
    Res = zeros(1001,100);
    for q = 1:M
        V = schema_exp(U);
        U = V;
        clear V
        F(q,:) = flux(U);
        Res(q,:) = U;
        [q, pow, epsilon_capi]
    end
    Après sans connaître ton code, on pourra difficilement te dire ce qui provoque ces ralentissements...
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2011
    Messages : 11
    Par défaut
    Bah le souci c'est que tout le code est vraiment trop gros.

    Sinon j'avais deux autres questions, est-ce possible d'afficher un fichier .avi frame par frame ?
    Mon instruction étant la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    film_sat(i+1) = getframe
    fin boucle
    movie2avi(film_sat, ['film_sat_expl_dpc=',num2str(10*dpc)], 'compression', 'Cinepak')
    Et enfin, comment Matlab gère les complexes ?
    En effet, j'ai, par exemple, deux cas de simulations, où l'un a pour "saturation critique" : 0.1 + 0.2846i et l'autre "0.1 + 0.4025i", cependant, Matlab prend à chaque fois la partie réelle de cette valeur, or j'ai besoin que les deux cas soient différents.
    Je sais que ça ne paraît pas très clair mais j'essaie d'exprimer ce problème de la façon la plus concise, navré si ce n'est pas le cas.

Discussions similaires

  1. Explorer.exe qui bug après passage au SP3 de XP
    Par d2r2280 dans le forum Windows XP
    Réponses: 8
    Dernier message: 06/05/2009, 10h52
  2. Réponses: 4
    Dernier message: 07/06/2008, 11h32
  3. Bug après modification d'une page asp
    Par breton dans le forum ASP
    Réponses: 7
    Dernier message: 28/02/2007, 13h24
  4. [Formulaire] bug après gestion du NotInList
    Par Invité dans le forum Access
    Réponses: 9
    Dernier message: 26/09/2005, 18h46
  5. [NAV 2004] Bug après avoir renommé la corbeille
    Par Halleck dans le forum Windows
    Réponses: 2
    Dernier message: 29/02/2004, 21h06

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