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 :

transformers Matrice n blocs on vecteur n case programme


Sujet :

MATLAB

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    data
    Inscrit en
    Septembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : data

    Informations forums :
    Inscription : Septembre 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut transformers Matrice n blocs on vecteur n case programme
    Bonjour,

    Je débute en matlab & j'ai rencontré un problème c'est quelqu'un peux m'aider merci .
    je dispose d'une matrice M qui contiens n blocs tous les blocs on la même dimension (ligne , colonne )
    les blocs sont remplis de cette façon :
    on trouve des blocs qui sont composer que de 0 .
    est d'autre qui sont composer avec des 0 et un seul 1 .

    j'aimerais écrire un programme matlab qui permis de parcourir tout la matrice M est de générer un vecteur V chaque blocs de la matrice M correspond a une case de vecteur V (Si la matrice M contient 8 blocs alors le vecteur V contient 8 cases) ce dernier doit être rempli de la façon suivant:

    - Si le bloc contient que des 0 alors la case de vecteur V de ce bloc doit générer un 0
    - Si le bloc contient 1 alors la case de vecteur V de ce bloc doit générer le numéro de colonne ou ce trouve le nombre 1

    Example :

    M = ( 0 0 0 0
    0 0 1 0
    0 0 0 0
    0 0 0 0

    bloc 2
    0 0 0 0
    0 0 0 0
    0 0 0 0
    0 0 0 0

    bloc 3

    0 0 0 0
    0 0 0 0
    0 0 0 0
    0 0 0 1
    .
    .
    .



    V = [ 3 0 4 ….]


    Merci pour votre aide.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Montre nous ce que tu as essayé de coder même si c'est faux
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    data
    Inscrit en
    Septembre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : data

    Informations forums :
    Inscription : Septembre 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour ,

    Oui bien sur voila mon programme ce que j'ai peux faire jusqu' a présent :


    Nom : 2021-09-28_19-10-fvvsdv.png
Affichages : 97
Taille : 31,5 Ko

    Nom : vfsdvsq 2.png
Affichages : 71
Taille : 27,5 Ko

    Nom : scsqdsc 3.png
Affichages : 109
Taille : 19,0 Ko

    Nom : 2021-09-28_19-13-48xc sdc 4.png
Affichages : 80
Taille : 29,5 Ko

    Nom : cod.PNG
Affichages : 72
Taille : 27,0 Ko


    Programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    % Matrice A
     
    A=[[0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,1,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0];[0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,1];
    [0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0];
    [1,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0;0,0,0,0,0,0]]
     
    A  % Pour afficher la matrice A
     
    [ligne,colonne]=find(A==max(max(A)))    % permis  d'afficher la ( ligne & colonne ) de la valeur "1" pour chaque bloc   
     
    j=transpose(colonne)   % Afficher le  Vecteur J  qui contient le numéro de colonne pour chaque "1"

    Le problème que j'ais actuellement :

    * Dans le cas ou le bloc ne contient aucun "1" que des "0" j'aimerais qu'il m'affiche "0" dans la case de vecteur J par rapport ou numéro de bloc de la matrice
    *j'ais réussi a afficher le numéro de colonne pour chaque "1" mais j'arrive pas a les positionner selon l'ordre des blocs


    Le résultat que je veux avoir :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    J =  4    6   0   1      % vecteur final .
    le vecteur J suit le numéro de bloc

    Je vous remercie .

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Je commencerais plutôt avec une solution utilisant trois boucles for pour parcourir la matrice :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    J = zeros(1, size(M,3));
     
    for k = 1:size(M,3)
        for i = 1:size(M,1)
            for j = 1:size(M,2)            
                if M(i,j,k)~=0                
                    %J                
                end
            end
        end
    end
    Une fois que le code fonctionne, tu pourras chercher à l'optimiser (si nécessaire)
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

Discussions similaires

  1. transformer matrice en vecteur
    Par Nab18 dans le forum MATLAB
    Réponses: 3
    Dernier message: 19/04/2013, 18h07
  2. Programme qui transforme matrice en vecteur
    Par adjolgam1 dans le forum C
    Réponses: 6
    Dernier message: 30/04/2012, 16h17
  3. Transformation matrice en vecteur
    Par mihaispr dans le forum MATLAB
    Réponses: 4
    Dernier message: 02/05/2009, 12h51
  4. Transformation matrice / table
    Par spirou33 dans le forum Access
    Réponses: 6
    Dernier message: 25/10/2007, 16h28
  5. Créer une matrice en manipulant un vecteur
    Par bernard6 dans le forum MATLAB
    Réponses: 3
    Dernier message: 07/04/2007, 11h34

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