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 :

Extraction de valeurs d une iteration


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Par défaut Extraction de valeurs d une iteration
    Bonjour,

    je souhaite extraire d une boucle les valeurs utilisées par les differentes iterations :

    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
     
    clear all
    n=1;
    h=1;
    i = 0;
    j =0 ;
    for i = 1:5
     for j = 1:5
     x(n) = i   ;
     f(h) = j ;
      h = h+1 ;
     end
    n=n+1;
    end
     
    x
    f
    et je souhaite avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    x= [1 2 3 4 5]
    f= [1 2 3 4 5]
    merci de votre aide,

    cordialement.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Merci de nous avoir mis ce que tu voulais...

    Voici de ce que je te propose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for i=1:5
      x(i)=i;
      f(i)=i;
    end
    x
    f
    Est ce que ça te va ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Par défaut
    heu oui enfin non

    c est a dire que ds cet exemple, l espace de recherche de i et j sont identique mais ds mon cas d etude, ce n est pas le cas...

    je modifie :
    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
     
    clear all
    n=1;
    h=1;
    i = 0;
    j =0 ;
    for i = 1:5
     for j = 5:10
     x(n) = i   ;
     f(h) = j ;
      h = h+1 ;
     end
    n=n+1;
    end
     
    x
    f
    et je veux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    x= [1 2 3 4 5]
    f= [5 6 7 8 9 10]
    merci ^^

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    clear all
    n=1;
    h=1;
    i = 0; % ne sert a rien
    j =0 ; % ne sert a rien
    for i = 1:5
     for j = 1:5
       x(n) = i   ;
       f(h) = j ;
       h = h+1 ;
     end
     n=n+1; % n augmente avec i et j , au final n = 25 iteration + 1 = 26
    end
    Sinon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    x = 1:x_max;
    y = x_max:y_max;
     
    % avec x_max = 5 , et y_max = 10 dans l'exemple
    ++

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Désolé mais je pense qu'il veut quelque chose du genre :

    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
    a=1;
    b=5;
    c=6;
    d=10;
     
    for i =a:b
      x(i)=i;
    end
     
    for i =c:d
      f(i)=i;
    end
     
    x
    f
    Je fais remarque concernant l'utilisation de double boucle for :
    La double boucle est utilisé quand on travaille en deux dimensions or ici tu ne travailles qu'en simple (vecteur)

    Ok ?

    Tu pourras remarquer que quand tu calcules "x", tu n'utilises pas la variable de la seconde boucle ("j") donc, ce calcul n'a rien à faire où tu l'as mis

    Et tant qu'à ton calcul de "f", tu le fais autant de fois qu'il y a d'itération sur "i".

    A la fin, tu auras un "f" de dimension length(i)*length(j) c'est à dire 25 dans ton cas...

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Par défaut
    Pour mr_samourai

    Es-tu sur de la valeur finale de ton "n" ??????

    Moi, je dirais qu'il se trouve que dans la boucle de "i" et donc il aura comme valeur finale :

    dans ton cas

  7. #7
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2007
    Messages
    979
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 979
    Par défaut
    Citation Envoyé par christophe_halgand Voir le message
    Pour mr_samourai

    Es-tu sur de la valeur finale de ton "n" ??????

    Moi, je dirais qu'il se trouve que dans la boucle de "i" et donc il aura comme valeur finale :

    dans ton cas

    oui t'as raison n = 6 , c'est plutot h = 26 .

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Par défaut
    Citation Envoyé par christophe_halgand Voir le message
    Désolé mais je pense qu'il veut quelque chose du genre :

    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
    a=1;
    b=5;
    c=6;
    d=10;
     
    for i =a:b
      x(i)=i;
    end
     
    for i =c:d
      f(i)=i;
    end
     
    x
    f
    Je fais remarque concernant l'utilisation de double boucle for :
    La double boucle est utilisé quand on travaille en deux dimensions or ici tu ne travailles qu'en simple (vecteur)

    Ok ?

    Tu pourras remarquer que quand tu calcules "x", tu n'utilises pas la variable de la seconde boucle ("j") donc, ce calcul n'a rien à faire où tu l'as mis
    oui cela ressemble d avantage a ce que je veux.

    en fait je souhaite faire 4boucles afin de calculer l ensemble des resultats d 'une fonction exprimee selon 4 variables. ensuite je cherche la valeur dt l erreur avec ma valeur de reference est minimale, mais ce n est pas l objet de ce post. voila pour ce que je souhaite faire.

    Je cherche d 'une part :
    - a extraire ds une matrice le nombre d iteration (1,2 3 etc jusqu a la fin de la boucle)

    et d autre part:
    - extraire dans une matrice l ensemble des valeurs utilisées par boucle (c est a dire que si je fais:

    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
     
    n = 1
    h = 1
    s =1
    for i = 1:5
     for g = 5:10 
      x(s) = 3i + g
      f(h) = g  
     end
    f(n) = i
    n =n+1
    end
     
    % je veux :
     
    x = [l ensemble des images de  ma fonction]
    f = [le nombre d iterations 1 2 3 4 5]
    g = [idem 5 6 7 8 9 10]
    j espere avoir ete plus clair,

    merci

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

Discussions similaires

  1. [AC-2010] Extraction de valeurs d'une table vers nouveau formulaire
    Par kerbe dans le forum VBA Access
    Réponses: 1
    Dernier message: 10/12/2013, 21h53
  2. Réponses: 12
    Dernier message: 27/03/2013, 14h15
  3. Réponses: 1
    Dernier message: 09/06/2011, 22h29
  4. Extractions de valeurs extrêmes dans une table
    Par natadel dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 25/04/2008, 11h09
  5. probleme d extraction de valeurs d'une tree
    Par adam57 dans le forum Forms
    Réponses: 6
    Dernier message: 24/03/2008, 21h30

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