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 :

Utilisation de Sgrayplot


Sujet :

Scilab

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Utilisation de Sgrayplot
    Bonjour,

    Je rencontre un problème avec l'utilisation de la fonction ''Sgrayplot''. Dans un premier temps, j'essaie de la tester en envoyant exclusivement des valeurs en x, en y et en z de même taille.
    Voici ci-dessous le programme.
    Le programme récupère les valeurs de y_not_string et z_not_string, soient y_not_string=0.000000 et z_not_string=0.000000 dans le fichier texte. La valeur 941.000000 est une valeur choisie arbitrairement. Lors de la compilation du programme, ce message-ci s'affiche sur la console :


      !--error 10000 
    Sgrayplot : Type erroné du ou des arguments d'entrée : Les arguments n°1, n°2 et n°3 doivent être des réels.
    at line      39 of function Sgrayplot called by :  
    t_string,941.0000000
    at line      68 of exec file called by :    
    \Programme1.sce', -1


    Pourtant, les données sont des nombres décimaux. Je ne comprends pas donc pas.



    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
    clc
    close
    clear
     
    ////////////////////////////////////CHOIX DU REPERTOIRE////////////////////////////////////////////
    path=uigetdir("C:\Users\salle_laser\Desktop", "Choix du répertoire")
    path = path + "/"
    //////////////////////////////////////////////////////////////////////////////////////////////////
     
     
    ///////////////////////////////////CHOIX DU FICHIER///////////////////////////////////////////////
    fichier=uigetfile('.txt',path,'Choix du fichier contenant les données',%t)
    //////////////////////////////////////////////////////////////////////////////////////////////////
     
     
    ///////////////////////////////DETERMINATION DE I_max ET SON ANTECEDENT///////////////////////////
    donnees=fscanfMat(fichier)
    [m,n]=size(donnees)
    [value_Intensity,k]=max(donnees(1:m,2))
    value_Lambda=donnees(k,1)
    ////fprintfMat(path + "résultats.txt",[value_Lambda, value_Intensity],"%f")//Fonctionne bien
    //////////////////////////////////////////////////////////////////////////////////////////////////
     
     
    /////////////////////////////////RECHERCHE DES VALEURS DE Y ET Z/////////////////////////////////
    n = fileinfo(fichier)
    fd1=mopen(fichier,'rt')
    //C = mget(n(1), 'c', fd1)
    //mseek(0,fd1,'end');
    datas = mfscanf(fd1,'%s %s %s %s')
    y=datas(1)
    y_not_string = part(y,3:10) 
    z=datas(2)
    z_not_string = part(z,3:10) 
    //donnees=fscanfMat(fichier)
    mclose(fd1)
    /////////////////////////////////////////////////////////////////////////////////////////////////
     
     
    ///////////////////////////INSERTION DES VALEURS DE Y, Z, Lambda ET Intensity///////////////////
    fd3=mopen(path + 'résultats_avec_valeurs_en_Y_et_Z.txt','at')
    mfprintf(fd3,'%s\t%s\t%f\t%f\n',y,z,value_Lambda,value_Intensity)
    mclose(fd3)
    //donnees_resultats=fscanfMat(path + "résultats_avec_valeurs_en_Y_et_Z.txt")
    fd2=mopen(path + 'résultats_sans_valeurs_en_Y_et_Z.txt','at')
    mfprintf(fd2,'%f\t%f\n',value_Lambda,value_Intensity)
    mclose(fd2)
    //[m2,n2]=size(donnees_resultats)
    ///////////////////////////////////////////////////////////////////////////////////////////////
     
     
    ///////////////////////////////AFFICHAGE GRAPHIQUE/////////////////////////////////////////////
    //plot(donnees_resultats(1:m2,1),donnees_resultats(1:m2,n2),'*')
    Sgrayplot(y_not_string,z_not_string,941.0000000)
    //xtitle("I = f (périodicité spatiale)","$\text{\lambda (nm)}$","$\text{Intensity (a.u.)}$")**
    mclose("all")
    ///////////////////////////////////////////////////////////////////////////////////////////////





    Merci de votre aide.

  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 : 52 882
    Points
    52 882
    Par défaut
    Que renvoi ceci juste avant l'appel à Sgrayplot ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    whos -name y_not_string
    whos -name z_not_string
    Peux-tu nous fournir un exemple de fichier dans lequel tu lis ces valeurs ?
    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)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Citation Envoyé par Jerome Briot Voir le message
    Que renvoi ceci juste avant l'appel à Sgrayplot ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    whos -name y_not_string
    whos -name z_not_string
    Peux-tu nous fournir un exemple de fichier dans lequel tu lis ces valeurs ?





    Bonjour,

    Voici le fichier texte dans lequel le programme cherche ce que je lui ordonne de chercher :


    y=0.000000	z=0.000000
    
    Lambda(nm)    Intensity
    213.641635	     117.000000
    213.652065	       20.000000
    213.662494	       13.000000
    213.672924	       32.000000
    213.683353	       36.000000
    213.693782	       21.000000
    213.704211	       13.000000
    213.714640	       27.000000
    213.725068	       34.000000
    [...]


    Quant aux commandes suivantes, "whos -name y_not_string" et "whos -name z_not_string". Le message est le suivant :
    Nom                      Type           Dimensions     Octets       
     
    y_not_string             string         1 par 1        56           
    Nom                      Type           Dimensions     Octets       
     
    z_not_string             string         1 par 1        56

  4. #4
    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
    Utilise fscanfMat pour lire ce 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
    -->[data, text] = fscanfMat("test.txt")
     text  =
     
    !y=0.000000	z=0.000000    !
    !                         !
    !                         !
    !                         !
    !Lambda(nm)    Intensity  !
     data  =
     
        213.64164    117.  
        213.65206    20.   
        213.66249    13.   
        213.67292    32.   
        213.68335    36.   
        213.69378    21.   
        213.70421    13.   
        213.71464    27.   
        213.72507    34.
    et ensuite :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sgrayplot(data(:,1), data(:,2), 941)
    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. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  2. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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