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

Scilab Discussion :

Lire un vecteur ou une matrice dans un fichier


Sujet :

Scilab

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2018
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Lire un vecteur ou une matrice dans un fichier
    bonjour ,

    je dois lire mes matrices depuis 'Document.txt'.

    Je suis dans le bon repertoire etc. J'arrive des que il s'agit de rpm qui est une matrice ligne mais pour les autres de dimension 10;20 scilab me retourner ''Incorrect file or format.''


    un conseil ?

    Merci d'avance
    Fichiers attachés Fichiers attachés

  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 166
    Points
    53 166
    Par défaut
    Voici une solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    fd = mopen('Document.txt', 'r')
     
    while ~meof(fd) do
        str = mgetl(fd, 1)
        if ~isempty(str) then
            execstr(str)
        end
    end
     
    mclose(fd)
    Malgré tout, le code ci-dessus ne fonctionne pas car il y a un problème avec les valeurs enregistrées dans le fichier. Il semble y avoir des 0 intercalés :

    Correctedmassflow =[
    10.38683    10.23236    10.0563  0  9.87849    9.69593    9.50797    9.30393    9.10332    8.89518    8.67522    8.44689    8.21855    7.98237    7.75325    7.50371    7.25881    7.01299    6.76902    6.53247    6.2987  0;
    13.46753    13.36364    13.24861    13.08534    12.90724    12.7013  0  12.48052    12.23791    12.00186    11.74954    11.48237    11.21521    10.93321    10.64564    10.33952    10.02783    9.71614    9.40445    9.07792    8.75139  ;
    17.77922    17.74583    17.63451    17.50093    17.3525  0  17.15955    16.93692    16.6846  0  16.4026  0  16.09091    15.76438    15.42975    15.06679    14.68089    14.28942    13.89357    13.46237    13.03117    12.60297    12.20223  ;
    20.46382    20.41373    20.35442    20.24675    20.11317    19.95663    19.76252    19.52876    19.2616  0  18.96104    18.62709    18.27644    17.89239    17.46928    17.00742    16.52657    16.02937    15.53803    15.03711    14.55288  ;
    23.5974  0  23.54731    23.44243    23.33024    23.19666    23.02968    22.84601    22.63741    22.41187    22.16141    21.89425    21.57699    21.24304    20.8423  0  20.37477    19.85714    19.3067  0  18.67161    18.00371    17.3859  0;
    26.38548    26.3161  0  26.24671    26.17733    26.10019    25.99224    25.89239    25.77365    25.62523    25.46197    25.26902    25.06122    24.79406    24.51206    24.15584    23.76994    23.30983    22.68646    21.94434    21.12801  ;
    28.92022    28.88683    28.8423  0  28.79777    28.75325    28.69605    28.65373    28.5897  0  28.51632    28.44293    28.37477    28.27458    28.16327    28.01855    27.78479    27.48423    27.05799    26.50464    25.89239    25.14286  ;
    31.44805    31.42208    31.3961  0  31.36364    31.33117    31.29221    31.25284    31.19943    31.14935    31.09091    31.02597    30.95455    30.86364    30.75974    30.62987    30.47403    30.23377    29.94156    29.62385    29.24026  ;
    33.6475  0  33.64007    33.62894    33.6141  0  33.59926    33.58071    33.56215    33.5436  0  33.52134    33.49907    33.46939    33.43599    33.39147    33.33581    33.25788    33.1577  0  33.00318    32.80519    32.60482    32.38367  ;
    35.19239    35.18033    35.16456    35.14972    35.13488    35.12096    35.10612    35.09221    35.07847    35.06289    35.04675    35.03117    35.01336    34.9961  0  34.97857    34.95962    34.93933    34.91929    34.8974  0  34.87421 
    ];
    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)

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

Discussions similaires

  1. [Débutant] afficher les valeurs d'une matrice dans un vecteur ?
    Par Imène_23 dans le forum MATLAB
    Réponses: 3
    Dernier message: 21/08/2011, 12h39
  2. Lire une matrice dans un fichier texte
    Par sfiliste dans le forum Fortran
    Réponses: 3
    Dernier message: 09/09/2010, 15h57
  3. Comment entrer une matrice dans une figure ?
    Par hassancoeur dans le forum Interfaces Graphiques
    Réponses: 9
    Dernier message: 11/01/2007, 09h33
  4. Réponses: 14
    Dernier message: 28/07/2006, 10h20
  5. [Numarray]Coller une matrice dans une plus grande.
    Par parp1 dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 27/04/2006, 16h48

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