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 :

Ouvrir un fichier texte


Sujet :

Scilab

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Ouvrir un fichier texte
    Bonjour à tous

    Je suis débutant avec Scilab (téléchargé et installé aujourd'hui!) et nouveau sur le forum.

    Je souhaite faire un petit script afin d'ouvrir une fenêtre graphique pour sélectionner un fichier (si possible en spécifiant le chemin du dossier qui sera tjs le même). une fois le fichier sélectionné, j'aimerais le lire et effectuer des opérations simple dessus.

    Le fichier est composé de 5 colonnes (le nombre de lignes sera différent à chaque fois) et le séparateur de champ est la virgule.

    Exemple:

    322843.264,5994402.325,-50.421,0.589,0.182
    322843.254,5994402.205,-50.421,0.588,0.181
    322843.244,5994402.095,-50.421,0.588,0.181
    322843.234,5994401.985,-50.441,0.587,0.181
    322843.224,5994401.875,-50.441,0.587,0.181
    322843.214,5994401.755,-50.461,0.586,0.181
    322843.204,5994401.645,-50.471,0.586,0.181
    322843.194,5994401.525,-50.461,0.585,0.181
    322843.184,5994401.405,-50.461,0.585,0.181
    322843.164,5994401.265,-50.441,0.584,0.181
    322843.154,5994401.135,-50.401,0.583,0.180
    322843.144,5994401.005,-50.371,0.582,0.180
    322843.134,5994400.885,-50.381,0.582,0.180
    322843.124,5994400.785,-50.411,0.581,0.180
    322843.114,5994400.675,-50.411,0.581,0.180
    322843.534,5994402.344,-50.450,0.589,0.182
    322843.514,5994402.224,-50.440,0.588,0.181
    322843.504,5994402.084,-50.430,0.588,0.181

    Les trois premières colonnes ne m’intéresse pas vraiment. J'aimerais pourvoir calculer sur la quatrième et la cinquième colonne les éléments suivants:

    valeur Min
    valeur Max
    Moyenne
    Médiane
    écart -type

    et si possible imprimer ça dans un fichier texte (pour la quatrième et cinquième colonne).

    J'ai une petite idée des fonctions à utiliser (iugetfile, mopen, mfscanf, etc) mais je ne maitrise pas assez pour arriver au résultat souhaité.

    En attendant votre un coup de main, je continue de chercher!!!

    Yann

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Ouvrir un fichier texte
    Bonjour à vous

    J'ai un peu avancé depuis mon dernier post.

    J'ai trouvé comment ouvrir un mon fichier texte.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    clear
    fichier=mopen('Lot5_Block1_TH_20181017.txt','r')
    M=mfscanf(-1,fichier,'%f,%f,%f,%f,%f')
    mclose(fichier)
    Mon besoin a un peu évolué. ce fichier contient les informations suivantes:
    Position Easting, Position Northing, Depth Z, Total Horizontal Uncertaincy, Total Vertical uncertaincy

    Je veux vérifier que THU et TVU respectent certains critères en fonction de la colonnes Z

    J'ai utilisé la commande suivante pour trouver les valeurs de Z supérieurs à 40m puis les renvoyer vers une nouvelle matrice.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Depth1 = find (M(:,3)>40)
    Depth40 = M(Depth1,:)
    En revanche je ne trouve pas de solution pour faire la même chose pour un interval. Par exemple pour trouver les lignes ou Z est supérieur à 20 et inférieur à 40.

    J'imagine qu'une condition If serait peut être plus adaptée?

    J’espère avoir vos conseils.

    Yann

  3. #3
    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 : 52 882
    Points
    52 882
    Par défaut
    Citation Envoyé par Yann Roué Voir le message
    trouver les lignes ou Z est supérieur à 20 et inférieur à 40.
    Essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    --> A = 5:5:50
     A  = 
     
       5.   10.   15.   20.   25.   30.   35.   40.   45.   50.
     
     
    --> idx = find(A>15 & A<40)
     idx  = 
     
       4.   5.   6.   7.
     
     
    --> A(idx)
     ans  =
     
       20.   25.   30.   35.
    Et la même chose mais sans le find :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    --> idx = A>15 & A<40
     idx  = 
     
      F F F T T T T F F F
     
     
    --> A(idx)
     ans  =
     
       20.   25.   30.   35.
    Voir la FAQ MATLAB : Qu'est-ce que l'indexage logique ?
    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. Ouvrir un fichier texte dans WordPad
    Par Commodore dans le forum Langage
    Réponses: 5
    Dernier message: 15/06/2006, 11h32
  2. [VB6] Ouvrir un fichier text qui ce trouve sur internet!
    Par passicon dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 03/04/2006, 13h41
  3. Ouvrir un fichier texte
    Par Meno14 dans le forum Access
    Réponses: 5
    Dernier message: 28/03/2006, 17h37
  4. [C++] Menu d'aide: ouvrir un fichier texte
    Par debutanteVB.NET dans le forum C++
    Réponses: 11
    Dernier message: 15/12/2005, 23h12
  5. Ouvrir un fichier texte en lecture ET écriture
    Par Steph12 dans le forum C++
    Réponses: 12
    Dernier message: 17/06/2005, 08h08

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