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 :

stocker les résultats de boucle for dans une matrice [Débutant]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Koweït

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 11
    Points
    11
    Par défaut stocker les résultats de boucle for dans une matrice
    Salut,
    voici mon problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    n=10;
     
    for iexample=1:3
        if iexample==1
            phi=0.6;
        elseif iexample==2
            phi=0.7;
        else
            phi=0.8;
        end
     
    sig_x=1; 
    sig_e=sig_x*sqrt(1-phi.^2);
    e=normrnd(0,sig_e,n,1);
    x(1)=rand();
        for t=2:n
          x(t)=phi*x(t-1)+e(t);
        end    
    end
    Je souhaite que les résultats soient rassemblés dans une matrice de taille n*3 sachant que x est un vecteur colonne de longueur n.
    Merci par avance de votre aide.

  2. #2
    Membre à l'essai
    Homme Profil pro
    Analyste Quantitatif / Developpeur
    Inscrit en
    Octobre 2015
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Analyste Quantitatif / Developpeur
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2015
    Messages : 9
    Points : 17
    Points
    17
    Par défaut
    Salut jenaCa,

    Le code peut etre simplifie si tu vectorises tes operations (ie en evitant les boucles).

    Voici une version qui devrait faire le travail (je n ai vectorise qu une partie de ton code, je pense qu on peu vectoriser la totalite, je le laisse comme ca pour que ce soit plus lisible).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    nr = 10;
    phi = 0.6:0.1:0.8;
    nc = numel(phi);
    sig_e = sqrt(1-phi.^2);
    e = repmat(sig_e,nr,1).*rand(nr,nc);
    x = [rand(1,nc); zeros(nr-1,nc)];
    for t = 2:nr
    	x(t,:) = phi.*x(t-1,:) + e(t,:);
    end
    Cordialement

  3. #3
    Membre à l'essai
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Koweït

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2014
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Salut Dionisis,

    ça marche avec la vectorisation ,Merci beaucoup.

    Amicalement,

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupérer le résultat d'une boucle for dans une liste
    Par eljoj dans le forum Général Python
    Réponses: 6
    Dernier message: 10/09/2015, 21h00
  2. Boucle FOR dans une animation
    Par vduez dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 20/05/2008, 08h44
  3. Boucle FOR dans une JSP
    Par Chewbaccak dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 10/12/2007, 13h32
  4. Réponses: 7
    Dernier message: 18/01/2007, 16h03
  5. Réponses: 11
    Dernier message: 18/07/2006, 14h53

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