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

MATLAB Discussion :

Strread : formatage non régulier


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 16
    Points
    16
    Par défaut Strread : formatage non régulier
    Bonjour,
    j'aimerais utiliser la fonction strread pour récupérer les données d'un fichier ASCII dans une structure Matlab.

    Je vous mets une partie de mon fichier :
    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
    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
     
    [MDI_HEADER]
    FILE_TYPE                ='tir'
    FILE_VERSION             =3.0
    FILE_FORMAT              ='ASCII'
    ! : FILE_NAME :         E:\xxx\tir/nf.tir
    ! : TIRE_VERSION :      MF-Tyre 5.2
    ! : MF-TOOL TEMPLATE :  acar12_mf-06.0         $Revision: 1.1.1.1 $
    ! : COMMENT :           Tire                    P215/60R16 6.5 H417
    ! : COMMENT :           Manufacturer            HK
    ! : COMMENT :           Nom. section with  (m)  0.215
    ! : COMMENT :           Nom. aspect ratio  (-)  60
    ! : COMMENT :           Infl. pressure    (Pa)  2.255e+006
    ! : COMMENT :           Rim radius         (m)  0.165
    ! : COMMENT :           Measurement ID          C:\xxx\xxx
    ! : COMMENT :           Test speed       (m/s)  16.7
    ! : COMMENT :           Road surface            Asphalt
    ! : COMMENT :           Road condition          Dry
    ! : FILE_FORMAT :       ASCII
    ! : DATESTAMP :         Wed Mar 26 13:40:35 2003
    ! : USER :              MF-Tool
    ! : Generated by :      Administrator
    ! : Copyright TNO, Wed Mar 26 13:40:35 2003
    !
    ! USE_MODE specifies the type of calculation performed:
    !       0: Fz only, no Magic Formula evaluation
    !       1: Fx,My only
    !       2: Fy,Mx,Mz only
    !       3: Fx,Fy,Mx,My,Mz uncombined force/moment calculation
    !       4: Fx,Fy,Mx,My,Mz combined force/moment calculation
    !     +10: including relaxation behaviour
    !     *-1: mirroring of tyre characteristics
    !
    !    example: USE_MODE = -12 implies:
    !       -calculation of Fy,Mx,Mz only
    !       -including relaxation effects
    !       -mirrored tyre characteristics
    !
    $----------------------------------------------------------------units
    [UNITS]
    UNITS
    FORCE                    ='newton'
    ANGLE                    ='radians'
    MASS                     ='kg'
    TIME                     ='second'
    $----------------------------------------------------------------model
    [MODEL]
    PROPERTY_FILE_FORMAT     ='MF-TYRE'
    TYPE                     ='CAR'
    FITTYP                   = 6                    $Magic Formula Version number
    USE_MODE                 = 14                   $Tyre use switch
    MFSAFE1                  = 1771
    MFSAFE2                  = 1771
    MFSAFE3                  =
    VXLOW                    = 1
    LONGVL                   = 16.7                 $Measurement speed
    $-----------------------------------------------------------dimensions
    [DIMENSION]
    UNLOADED_RADIUS          = 0.3312               $Free tyre radius
    WIDTH                    = 0.215                $Nominal section width of the tyre
    ASPECT_RATIO             = 0.6                  $Nominal aspect ratio
    RIM_RADIUS               = 0.165                $Nominal rim radius
    RIM_WIDTH                = 0.127                $Rim width
    $----------------------------------------------------------------shape
    [SHAPE]
    {radial width}
     1.0    0.0
     1.0    0.4
     1.0    0.9
     0.9    1.0
    $------------------------------------------------------------parameter
    [VERTICAL]
    VERTICAL_STIFFNESS       = 2e+005               $Tyre vertical stiffness
    VERTICAL_DAMPING         = 50                   $Tyre vertical damping
    BREFF                    = 5                    $Low load stiffness e.r.r.
    DREFF                    = 0.4                  $Peak value of e.r.r.
    FREFF                    = 0.01                 $High load stiffness e.r.r.
    FNOMIN                   = 4854                 $Nominal wheel load
    On remarque que le début n'est pas identique à la suite.

    Pour résumer, concernant les données, par exemple [VERTICAL], j'aimerais une structure du genre :
    Pacejka.VERTICAL.VERTICAL_STIFFNESS.name=VERTICAL_STIFFNESS
    Pacejka.VERTICAL.VERTICAL_STIFFNESS.value=2e+005
    Pacejka.VERTICAL.VERTICAL_STIFFNESS.comment='Tyre vertical stiffness'

    Et une donnée Pacejka.XXX.YYY.comment='' si le commentaire n'existe pas.

    Concernant les paramètres généraux, il me faudrait quelque chose du style :
    Pacejka.GENERAL.FILE_TYPE='tir'

    J'ai ainsi essayé la fonction strread en ne me préoccupant pas encore des deux parties distinctes, pour obtenir les paramètres.
    Cependant, du fait que le commentaire est une phrase, avec des espaces, je bloque...
    Quelqu'un aurait-il une idée ?
    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 36
    Points : 16
    Points
    16
    Par défaut
    J'ai réussi à décomposer la ligne, il reste à automatiser la lecture du fichier entier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    tline='PCY1                     = 1.3485               $Shape factor Cfy for lateral forces';
     
    for k=1:length(tline)
        if tline(k) == '$'
            idx=k;
        end
        k=k+1;
    end
    [name value]=strread(tline(1:idx-1),'%s = %f');
    name=char(name);
    comment=tline(idx+1:end);
    Aussi, comment faire pour établir ma structure avec les bons noms ?
    Pacejka.name=value pour avoir Pacejka.PCY1=1.3485
    Réponse:

Discussions similaires

  1. projet étudiant :maillage non régulier
    Par Nath1988 dans le forum Fortran
    Réponses: 10
    Dernier message: 23/01/2017, 13h03
  2. Formatage d'une date a l'aide d'expression réguliere
    Par sunshine2004 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 10/04/2008, 22h45
  3. Réponses: 5
    Dernier message: 11/01/2008, 13h36
  4. formatage de date non pris en compte
    Par robert_trudel dans le forum API standards et tierces
    Réponses: 15
    Dernier message: 28/11/2006, 17h44
  5. [XSLT]Formatage de mon html non désiré
    Par Thanos76 dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 25/06/2005, 12h16

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