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 :

variation de boucle for


Sujet :

MATLAB

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2015
    Messages : 14
    Par défaut variation de boucle for
    Bonjour à tous

    Voilà mon problème. je fais une combinaison linéaires de matrice comme ceci pour 3 matrice:
    ( je peux également vous donner celui qui fonctione pour 5 matrices )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    K1=[1 1 -1 -1];
    K2=[1 -1 1 -1];
    T=ones(31387,11);
    R=cat(3,T,T,T,T);
     
    for i=1 : 4
     
        R(:,:,i) =  A +  K1(i)*B  +  K2(i)*C ;
     
    end
    le problème est que je dois faire cette combinaison linéaire quelque soit le nombre de matrice compris entre 2 et 36.
    ma question est donc s'il est possible d'écrire une sorte de boucle qui permetrai de faire cela

    ai-je était assé claire ?

    D'avance merci

    Cordialement

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Août 2014
    Messages
    1 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2014
    Messages : 1 295
    Par défaut
    Bonjour,

    Le plus simple (à mon humble avis) serait d'utiliser la concaténation de tes matrices dans une grosse matrice plutôt que d'utiliser des noms de variables différent à chaque fois, qui complique l'utilisation d'une boucle.

  3. #3
    Membre émérite
    Avatar de soft001
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2008
    Messages
    409
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 409
    Par défaut
    Je suis d'accord avec Gooby, c'est mieux de travailler avec une seule matrice.
    Dans l'exemple ci-dessous, j'ai pris 4 matrices et j'ai utilisé aussi la fonction npermutek:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    NbreMatrice=4;
    A=rand(2); B=rand(2); C=rand(2); D=rand(2);
    MAT=cat(3,A,B,C,D);
     
    Operation = npermutek([1 -1],NbreMatrice-1);
    R=zeros(size(MAT));
     
    for i=1 : 2^(NbreMatrice-1)
        for j=2:NbreMatrice
            MAT(:,:,j)=Operation(i,j-1)*MAT(:,:,j);
        end
        R(:,:,i)=sum(MAT,3);
    end

Discussions similaires

  1. Boucle for dans un script cmd
    Par nicolas.ganache dans le forum Développement
    Réponses: 4
    Dernier message: 19/07/2004, 16h07
  2. Réponses: 3
    Dernier message: 06/07/2004, 10h21
  3. [Debutant] Batch et Boucle for
    Par ludovic.fernandez dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/05/2004, 19h21
  4. [Swing][boucles] for, do, if .....comment faire simple?
    Par chastel dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 02/05/2004, 22h49
  5. [langage] boucle "for" modification du pas
    Par K-ZimiR dans le forum Langage
    Réponses: 4
    Dernier message: 29/04/2004, 11h54

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