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

 C++ Discussion :

Vecteur Matlab en C++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut Vecteur Matlab en C++
    Bonjour,
    j'ai pour projet de passer en C++ un programme fait sous matlab,

    j'ai donc un vecteur sous matlab de cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    p=[705 710 715 720 725 730 736 741 746 752 ... 
    757 762 768 773 779 784 790 795 801 807 ... 
    812 818 824 830 835 841 847 853 859 865 ... 
    871 877 883 890 896 902 908 915 921 927 ... 
    934 940 947 953 960 967 973 980 987 994 ... 
    1001 1007 1014 1021 1028 1035 1042 1050 1057 1064]


    Pour faire la même chose en C je sèche un peu, car un tableau à remplir case par case serait trés long et fastidieux sachant qu'en réalité il y a plus de 1000 valeur dans ce vecteur matlab...
    il y a aussi des vecteurs en C++ mais je ne sais pas si il est possible de mettre plusieurs valeur différente dans un vecteur? Ou si vous avec une autre solution...

    Merci d'avance

    PS: j'utilise Visual studio

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Bonjour et bienvenu,
    En C de base, tu peux faire quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int mon_vecteur[]={
    1,2,3,4,5,6,7,8,9
    10,11,12,13,14,15,16
    ...
    }
    Cependant, attention. Déclarer un tableau de grande dimension sur la pile peut provoquer de sérieux dégâts.
    Comme nous sommes sur le forum C++, je te préconiserais d'utiliser une solution C++ : std::vector pour ton vecteur et Boost.Assign pour te faciliter la vie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <vector>
    #include <boost/assign/std/vector.hpp>
    using namespace boost::assign;
    int main()
    {
       std::vector<int> mes_int;
       mes_int += 
          1,2,3,4,5,6,7,8,9,
          10,11,12,13,14,15,16,17,18,19,
    ...
       ;
    Pour Boost.Assign, tu pourras trouver un tutoriel ici.
    Sur les vecteurs de la STL, tu pourras trouver des infos ici ou dans la FAQ.

  3. #3
    Membre confirmé Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    merci beaucoup,

    je vais lire tout sa et essayer de faire un truc correct

  4. #4
    Membre confirmé Avatar de vtk37
    Inscrit en
    Avril 2009
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Avril 2009
    Messages : 159
    Par défaut
    j'ai donc essayer cette méthode mais pour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #include <boost/assign/std/vector.hpp>
    visual me dit:
    fatal error C1083: Impossible d'ouvrir le fichier include*: 'boost/assign/std/vector.hpp'*: No such file or directory
    ou ce trouve donc ce fichier? est ce qu'il faut le rajouter?

  5. #5
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    C'est boost, c'est pas la librairie standard. Il faut donc la télécharger

  6. #6
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Tu trouveras des infos dans la section consacrée à Boost (FAQ et tutoriels).
    Tu peux télécharger la version sur le site de Boost. Elle est gratuite, pour la partie Boost.Assign ne nécessite pas de compilation et peut être utilisée aussi bien sur des programmes libres que commerciaux.

Discussions similaires

  1. stockage des vecteur + matlab
    Par hanen2010 dans le forum MATLAB
    Réponses: 1
    Dernier message: 22/04/2010, 08h28
  2. Réponses: 8
    Dernier message: 11/06/2009, 20h46
  3. matlab et gros vecteurs
    Par gtkill dans le forum MATLAB
    Réponses: 9
    Dernier message: 09/06/2009, 13h48
  4. matrice vecteurs matlab
    Par momo032114 dans le forum MATLAB
    Réponses: 10
    Dernier message: 14/08/2008, 12h17
  5. [Débutant] MATLAB et les vecteurs
    Par fares.26 dans le forum MATLAB
    Réponses: 5
    Dernier message: 05/02/2008, 11h44

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