Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 20 sur 20
  1. #1
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut Transformer une matrice colonne en matrice ligne

    Bonjour, je cherche à transformer une matrice en colonne en matrice ligne mais je ne trouve pas la fonction adéquate


    Merci par avance

    Bonne journée

  2. #2
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    Salut,

    Citation Envoyé par Leanaa Voir le message
    je cherche à transformer une matrice en colonne en matrice ligne mais je ne trouve pas la fonction adéquate
    Sous quelle forme est représentée ce que vous appelez "matrice"? Une liste de listes, un array numpy, autre?

    - W
    Architectures Post-Modernes

  3. #3
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    il s'agit un numpy.ndarray

  4. #4
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    quid de numpy.ndarray.transpose()
    - W
    Architectures Post-Modernes

  5. #5
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Ca marche, merci

    Mais maintenant je dois mettre ma matrice en liste car sinon je ne peut pas faire de recherche à l’intérieur, donc en faite j'aurais pu la laisser en colonne (au moins maintenant je sait comment faire)

    Je fait ça :

    Code :
    1
    2
    3
    for i in range (0,Mat.shape[1]):
        if Y[i]==83:
           frangeX = frangeX + 1
    et ça me met cette erreur :

    if Y[i]==83:
    ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

  6. #6
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    Salut,
    Citation Envoyé par Leanaa Voir le message
    Mais maintenant je dois mettre ma matrice en liste car sinon je ne peut pas faire de recherche à l’intérieur
    Parcourir les éléments de la matrice se fait avec .nditer, genre:
    Code :
    1
    2
    for x in np.nditer(array, options):
           ...
    Par contre, je ne vois pas ce que vous essayez de faire avec le code que vous montrez:
    Code :
    1
    2
    3
    for i in range (0,Mat.shape[1]):
        if Y[i]==83:
           frangeX = frangeX + 1
    D'où sort Y? ou est la matrice?
    - W
    Architectures Post-Modernes

  7. #7
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Ma matrice est Y et je souhaite ajouter 1 à ma fonction frangeX lorsque Y = 83 (qui est la moyenne trouver dans une autre fonction) sur tout la largeur de la matrice Y

  8. #8
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    Salut,

    Citation Envoyé par Leanaa Voir le message
    Ma matrice est Y et je souhaite ajouter 1 à ma fonction frangeX lorsque Y = 83 (qui est la moyenne trouver dans une autre fonction) sur tout la largeur de la matrice Y
    En écrivant "frangeX = frangeX + 1", vous considérez frangeX est un "number" et non une fonction.
    Cela n'aide pas à comprendre ce que pourrait bien vouloir dire "ajouter 1 à la fonction frangeX" et encore moins comment réaliser la chose correspondante.

    Si Y est la matrice, Y[i] sera la ligne i => une liste de... et non un "nombre".
    Si vous avez calculé et stocké quelque part la moyenne de chaque ligne de Y, nous pourrions espérer une "colonne" / "liste" stockée dans une variable "meanY" telle que "meanY[i]" soit la moyenne de la colonne "i" de "Y".

    Ajouter 1 à je ne sais quoi lorsque la moyenne de la ligne est 83 n'a pas besoin d'itérer sur tous les éléments de Y, mais sur ceux de meanY qui est "sequence" simple i.e.:
    Code :
    1
    2
    3
    for v in meanY:
         if v == 83:
            # ajouter 1 à je ne sais pas encore quoi
    De même meanY devrait pouvoir se calculer "simplement" via:
    Code :
    1
    2
    length = len(Y[0])
    meanY = [ sum(z) / length for z in Y ]
    - W
    Architectures Post-Modernes

  9. #9
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Je dois compter des franges d'une bulle

    J'ai réussit à les détecter et j'obtiens une courbe sinusoïdale dont les valeurs sont dans la matrice Y, j'en est fait la moyenne appelé mean (environs 83.215) que j'ai convertie en nombres entier pour avoir 83, j'ai fait une matrice de cette moyenne rempli avec le nombre 83 de la taille de Y pour pouvoir tracer la droite moyenne sur la courbe.

    J'ai vérifier qu'il y avait bien des valeur Y = 83 dans la matrice

    Il faudrait maintenant que lorsque mean = Y s'ajoute +1 à frangeX (initialement j'ai imposer frangeX = 0), ainsi je pourrais lancer un calcul pour déterminer le diamètre de mes bulles.

    En espèrent avoir été plus clair...

  10. #10
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    Citation Envoyé par Leanaa Voir le message
    En espèrent avoir été plus clair...
    Si cela vous semble "clair", montrez nous comment vous le codez...
    - W
    Architectures Post-Modernes

  11. #11
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    "#### Ouverture de l'image ####"
     
    # Ouverture de l'image
    frange = Image.open('test3.jpg')
     
    # Convertion de l'image en matrice
    Mat = np.asarray(frange)
     
     
    "#### Tracer de la courbes représentant l'intensiter des franges ####"
     
    #Création d'une liste vide
    Y = []
     
    #Définition de l'ordonnée : calcule de l'intervalle : on commence par la valeur de départ de la séquence, 
    #    La valeur de fin de la séquence -1 de sorte que l'arrêt soit exclu, nombre 
    #    déchantillon à générer
    #Ici on commence à 0 puis sur la largeur de l'objet -1pixel de sorte que l'arrêt  
    #    soit exclu pour avoir autant d'échantillon que la taille de la largeur.
     
    X = np.linspace(0,Mat.shape[1]-1,Mat.shape[1])
     
     
    #Recherche du centre : taille de la hauteur de l'image / 2
    centre = Mat.shape[0]/2
     
     
    # Boucle commencant au pixel 0 finissant au bout de la largeur de l'objet
     
    for i in range (0,Mat.shape[1],1):
        #Ajout des valeur trouver sur le centre dans la liste Y qui correspondra 
        #     à l'intensiter des franges   
       Y.append(Mat[centre][i])
     
     
    # Convertion de la liste Y en matrice
    Y = np.array(Y)
     
    #Calcul de la moyenne de Y
    moy = np.average(Y)
     
     
    "#### Tracer de la moyenne ####"
     
    # Création d'une liste vide
    Mean = []
     
    # le liste de Mean est mis à la même taille que X
    shapeMean=np.shape(X)
    U = np.zeros(shapeMean)
     
    # Boucle commencant au pixel 0 finissant au bout de la largeur de l'objet
    for i in range (0,Mat.shape[1],1):
        #Ajout de la moyenne à Mean
        Mean.append(moy)
     
    # Conversion de Mean en nombre décimal en nombre entier
    c=np.round(Mean)
    # Conversion de la liste Mean en matrice
    Mean = np.array(c)
     
     
    "#### Comptage des franges ####"
     
    # initialement frangeX = 0 car on n'a pas encore de frange 
    frangeX = 0
     
    # Boucle commençant au pixel 0 finissant au bout de la largeur de l'objet
    for i in range (0,Mat.shape[1]):
        if Y[i]==83:
           frangeX = frangeX + 1
     
     
    # frangeX /2 car le programme compte le front montant et déscendant de la même sinusoïde
    frangeX = frangeX/2
     
     
    "#### Affichage de l'image et des courbes ####"
     
    fig1 = plt.figure(1)
    ax1 = fig1.add_subplot(1,2,1)
    ax1.imshow(frange, cmap=plt.cm.gray)
    ax2 = fig1.add_subplot(1,2,2)
    ax2.plot(X,Y,'r-')
    ax2.plot(X,Mean,'g-')

  12. #12
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Je ne peut pas faire plus clair..

  13. #13
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    Citation Envoyé par Leanaa Voir le message
    Je ne peut pas faire plus clair..
    Regardez le nombre d'objets associés à "moyenne" dans votre code: X, moy, Mean, shapeMean,...
    Relisez les explications exprimées en phrases écrites en "français" sur ce que vous attendez que çà fasse.
    La description en français me semble aussi embrouillée que le code Python...

    last but not least: quel était la question posée: "Transformer une matrice colonne en matrice ligne".
    Après que je vous ai donné la réponse, vous dites:
    Ca marche, merci

    Mais maintenant je dois mettre ma matrice en liste car sinon je ne peut pas faire de recherche à l’intérieur, donc en faite j'aurais pu la laisser en colonne (au moins maintenant je sait comment faire)
    Si vous avez encore une idée trop vague de ce que vous voulez faire pour l'exprimer simplement, pas la peine d'essayer de coder quoi que ce soit.

    - W
    Architectures Post-Modernes

  14. #14
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Je ne suis pas programmatrice, je n'est pas le choix, je dois faire ce programme pour mon stage.

    J'ai une idée, je l'applique, je fait avec le peut de fonction informatique que je connait, je demande de l'aide, après je ne peut rien y faire si l'idée que j'ai n'est pas toujours la bonne ou la plus simple.

    Donc désoler de vous déranger avec mes questions, si vous penser que une petite étudiante ne vaut pas la peine d'être aider il ne faut pas gérer un forum qui propose de l'aide.

  15. #15
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    Donc désoler de vous déranger avec mes questions, si vous penser que une petite étudiante ne vaut pas la peine d'être aider il ne faut pas gérer un forum qui propose de l'aide.
    Le problème est qu'il n'y a pas de question juste un appel à l'aide.
    Ne pensez vous pas qu'il devrait plutôt être adressé à votre responsable de stage?

    Bon courage.
    - W
    Architectures Post-Modernes

  16. #16
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Ils ne font pas de programmation, c'est un sujet de secours car ma manip ne fonctionne pas.

  17. #17
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    la réponse est 42?
    Architectures Post-Modernes

  18. #18
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    ??

  19. #19
    Modérateur

    Homme Profil pro
    Architecte technique
    Inscrit en
    juin 2008
    Messages
    5 238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 5 238
    Points : 7 251
    Points
    7 251

    Par défaut

    C'est la réponse à la question qui n'a pas été posée.
    d'après le "Le Guide du voyageur galactique".
    Architectures Post-Modernes

  20. #20
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juin 2012
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : juin 2012
    Messages : 21
    Points : 0
    Points
    0

    Par défaut

    Merci pour votre sympathie, je saurais vous faire la pub qui va avec

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •