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

Caml Discussion :

Transformer un vecteur en matrice


Sujet :

Caml

  1. #1
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 146
    Points : 81
    Points
    81
    Par défaut Transformer un vecteur en matrice
    Bonsoir à tous,

    Encore des questions de débutants, et je tiens d'abord à vous remercier du temps que vous passer à répondre.

    Je me lance :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    type vecteur = { x : float ref ; y : float ref ; z : float ref };;
          
    let vect_to_mat (v : vecteur ) = 
      let matrice = Array.make_matrix 1 3 0. in
        for j = 1 to 3 do 
          matrice.(j) = v.(!j)
        done;
        matrice;;
    Bien évidemment ça plante, là ou il y a du rouge, car en fait je souhaiterais remplacer chaque case de ma matrice par les valeurs de mon vecteur.
    Or je fais comme si, il s'agissait d'un tableau. Or je sais pertinemment que c'est un type mais je vois pas comment y accéder.

    J'ai bien pensé à un Array.init avec pour fonction d'itérer sur les valeurs du vecteur mais on tourne en rond là... j'ignore comment accéder aux champs de mon type...

    Merci d'avance .

  2. #2
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Voilà:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    type vecteur = { x : float ref ; y : float ref ; z : float ref }
     
     
    let vect_to_mat v = [| [| !(v.x) ; !(v.y) ; !(v.z) |] |]

  3. #3
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 146
    Points : 81
    Points
    81
    Par défaut
    merci beaucoup...

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    102
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2010
    Messages : 102
    Points : 110
    Points
    110
    Par défaut
    Salut,

    autre chose : les tableaux de longueur n sont indexés de 0 à n-1 et non de 1 à n, du coup normalement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    let matrice = Array.make_matrix 1 3 0. in
      for j = 1 to 3 do 
        blabla matrice.(j)
      done
    ;;
    doit te renvoyer un truc du genre Invalid_argument "index out of bounds".

    Et c'est pareil avec les chaînes de caractères

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

Discussions similaires

  1. transformer un vecteur en une matrice
    Par rahmabalsam dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 19/12/2012, 00h17
  2. Réponses: 4
    Dernier message: 09/05/2012, 14h35
  3. Transformer un vecteur en matrice
    Par chouki dans le forum MATLAB
    Réponses: 2
    Dernier message: 31/03/2010, 01h46
  4. Transformer un vecteur de caractères en matrice 4*4
    Par pazze dans le forum x86 32-bits / 64-bits
    Réponses: 1
    Dernier message: 07/04/2009, 11h17
  5. comment transformer une image en matrice
    Par liliana07 dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/03/2007, 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