[SCILAB] Récupération d'une variable d'un second fichier scilab
Répondre à la discussion
Affichage des résultats 1 à 21 sur 21

[SCILAB] Récupération d'une variable d'un second fichier scilab



  1. #1
    nikob88

    [SCILAB] Récupération d'une variable d'un second fichier scilab


    ------

    Bonjour,

    Je cherche à récupérer à partir de mon premier fichier scilab, une variable qui se trouve dans un second fichier scilab. Je ne sais pas comment faire.
    En faisant, exec, cela va executer tout mon programme, et ce n'est pas la solution.

    Donc ce serait une fonction semblable à "read" qui ne ferait que lire second fichier.

    Merci pour votre aide,

    Cordialement,

    -----

  2. #2
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Bonjour.

    A priori, il n'y a aucune variable dans un fichier, seulement des constantes, qu'il est facile de copier. Par contre, si ta "variable" est une valeur calculée lors de l'exécution du premier fichier, il te suffit d'en faire une fonction qui rendra comme valeur la valeur calculée.

    Cordialement.

  3. #3
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Merci.

    Ok, pour la variable, et si c'est pour une constante ?

    Cordialement,

  4. #4
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Ben ...

    Il suffit de l'écrire. Si tu as écrit a=27 dans ton premier fichier et que a n'est jamais modifiée, tu reprends 27.
    Dans un programme (car j'imagine que ce sont des fichiers programmes, puisque tu parles d'exécution) seules les constantes sont inscrites dans le fichier. Et comme elles sont inscrites, il suffit de les copier. Les variables sont des places mémoires nommées qui ne prennent de valeur qu'à l'exécution.

    Cordialement.

  5. A voir en vidéo sur Futura
  6. #5
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Oui mais le programme qui contient ma variable et sa valeur correspondante, doit être executé avant de lancer le programme qui appelle juste la variable seule dans ce cas là.

    Le programme contenant la variable et sa valeur n'est pas toujours executer, donc scilab ne connait pas la valeur de la variable pour mon premier programme.

  7. #6
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Eh bien débrouille-toi pour qu'il soit exécuté !

    Tu veux une variable (enfin, sa valeur). Si cette valeur n'existe pas, comment veux-tu la récupérer ?
    Sois un peu réaliste. La programmation n'est pas de la magie, seulement de la technique.

    A savoir aussi : les valeurs de variables calculées par un programme sont généralement perdues quand le programme a fini son exécution. Pour conserver ces valeurs, il faut le prévoir !
    Dernière modification par gg0 ; 04/07/2012 à 15h27.

  8. #7
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Alors pour commencer, tu vas descendre d'un étage et me parler autrement.

    Si je pose une question qui te parait débile, tu peux t'abstenir de répondre car je débute en programmation, comme tu aurais pu t'en douter. Sois réaliste !

    Je pensais qu'il existait une fonction qui permettait seulement de lire un fichier scilab, sans l'éxecuter et de ne retenir que les constantes !

  9. #8
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Tu es effectivement débutant,

    car tu t'énerves quand on rappelle les base en pensant que tu es débutant, et tu n'arrives pas à donner le sens de tes questions.
    J'en arrive à me demander si tu sais ce qu'est un "fichier scilab". C'est une suite de bits transformée à partir d'un texte en clair (.sce par exemple).
    Alors si tu parles bien d'un fichier .sci, la réponse est non. Tout simplement parce que ce travail (en gros une "décompilation") est extrêmement compliquée et pas totalement automatisable.
    En pratique, soit on a un programme scilab (.sci) et on ne peut qu'éventuellement l'exécuter. Soit on a le texte en clair (.sce ou autres) et on peut le lire. Mais même dans ce cas, "ne retenir que les constantes" est extrêmement délicat à programmer.

    Un conseil : Apprends et utilise le vocabulaire. par exemple, je commence à comprendre que tu parles d'un fichier .sci, sans en être totalement sûr.

    Cordialement.

    NB : Je te parlerai d'où je suis, je ne peux pas oublier mes connaissances pour tenter de t'expliquer : Je n'expliquerais plus !

  10. #9
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    C'est bien déjà tu commences à mieux me parler. Il y a du progrès.

    Pour ta gouverne, je suis totalement calme. Le premier a s'énerver me semble-t-il que c'est toi.

    Et effectivement je débute sur scilab et en programmation et je ne connais pas tous les termes.

    Et comme tu aurais pu le deviner, toi expert en programmation, je parle d'un fichier .sce, celui que je code et que j'enregistre. Donc en fait celui que je programme aussi. Le .sci étant un script. Ah !

    La question n'était pas sur la dénomination des fichiers ou programmes, mais sur de la programmation. Et si tu ne connais pas la réponse, ce n'est pas grave, je ne t'en voudrais pas ! Parcequ'au final, tout ce que tu as écrit ne pas clairement pas avancé, et je le connaissais déjà !

  11. #10
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Là tu deviens franchement désagréable, tout en racontant manifestement n'importe quoi !
    Débrouille-toi seul !

  12. #11
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Je te signale que c'est toi qui a commencé par te montrer désagréable.
    Je cite : "Eh bien débrouille-toi pour qu'il soit exécuté !"

    De toutes manières, je n'attendais plus de toi ton aide, car tu ne connais pas la réponse.
    Je cite : "Mais même dans ce cas, "ne retenir que les constantes" est extrêmement délicat à programmer."

  13. #12
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Je ne connais pas la réponses à toutes les questions farfelues ou mal posées, c'est un fait !
    Mais tu le prends de bien haut, alors que tu as un problème que moi je n'ai pas. Donc tu peux bien jouer du "c'est celui qui dit qui est!" et continuer tes gamineries, tu n'es pas plus avancé

  14. #13
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Si un modérateur veut bien supprimer mon précédent message (ainsi que celui-ci). Inutile d'encombrer le forum...

    merci !

  15. #14
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Je te signale que tes réponses sont toutes aussi mal formulées, mais moi j'ai pris le temps d'essayer de les comprendre et je ne t'ai pas envoyé ballader quand tes réponses n'avaient rien à voir avec ma question !

    Je t'affirme que tu as un problème.
    Je me répète, mais à partir du moment où tu as commencé à te montrer, je me suis mis à ton niveau, et j'ai adopté ton attitude.

    Je ne vois pas où "gaminerie" il y a. Je ne me laisse pas faire, et quand on me cherche on me trouve !

    C'est vrai qu'au final, je n'ai toujours pas de réponses à ma question. J'ai bien compris que tu ne saurais y répondre. Et c'est sur qu'en pourrissant mon post, personne d'autre viendra m'aider !

  16. #15
    Floria

    Question Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Salut!

    Ta question n'est pas très claire, je le crains. Tu as une variable dans un fichier .sce que tu souhaite réutiliser dans un second fichier .sce et ce sans exécuter le premier?
    Je ne vois pas bien l'intérêt d'un telle pratique...soit ta variable en question est une constante et alors il te suffit de la définir (ou redéfinir) dans le second fichier, soit c'est une variable calculée dans le premier et alors tu es obligé de l’exécuter (avec exec) dans le second pour la récupérer.

    Oui mais le programme qui contient ma variable et sa valeur correspondante, doit être executé avant de lancer le programme qui appelle juste la variable seule dans ce cas là.

    Le programme contenant la variable et sa valeur n'est pas toujours executer, donc scilab ne connait pas la valeur de la variable pour mon premier programme.
    Si je comprend bien ce que tu dis, tu as une variable définie constante dans un fichier qui n'est pas toujours utilisé, et tu as besoin de cette variable dans un second fichier...En toute logique je te dirais qu'il suffit alors de la redéfinir dans ce dernier, à moins que l'exécution du premier fichier (si elle a lieu) puisse modifier sa valeur, ce qui rendrait sa redéfinition problématique...
    Sauf que si ce premier fichier est exécuté alors la valeur de ta variable est connue....


    Bref, c'est pas clair. Comment ton fichier pourrais t-il ne "pas toujours être exécuté"?? C'est scilab, soit tu dis a scilab de l'exécuter, soit tu lui dis de pas le faire, tu fais quand même pas un random sur l'exécution de ton fichier! Ce serait bien que tu explique un peu plus ton programme.

  17. #16
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Salut,

    Je me suis mal exprimé, en effet, cette variable est une constante.

    Dans un premier .sce, l'utilisateur y renseignerait une température par exemple (T). A la base, ce premier fichier renseigne les paramètres initiaux, et en l'executant, il lance un autre .sce qui me permet entre autres, de tracer la course du soleil et des valeurs de rayonnement.
    Dans un second .sce, j'aimerais que ce que j'y ai codé puisse réutiliser cette constante T du premier fichier, sans que l'utilisateur réécrive la valeur de T au début du .sce.

    Ne connaissant pas la programmation ni scilab, je pensais qu'il existait une fonction ou autre qui permettrait de lire et garder en mémoire les constantes d'un autre fichier.

    Merci pour votre réponse.

  18. #17
    TounBk

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Bonjour,

    J'ai très peu de connaissance sur SCILAB mais il semblerai qu'il soit très proche de MatLab dans son fonctionnement.
    Toutes variables ou constantes utilisées dans l'environnement MatLab à l'exécution d'un fichier se retrouve "stocker" dans ce que MatLab nomme le "WorkSpace".

    Tu peux à partir de là "sauver" cette variable ainsi que sa valeur. Le code Matlab ressemble à ça :

    Code:
    save nom_de_la_variable_dans_WS nom_de_la_sauvegarde.mat
    Ensuite dans ton deuxième fichier, il te suffit d'ajouter la ligne

    Code:
    load nom_de_la_sauvegarde.mat
    variable = nom_de_la_variable_dans_WS;
    clear nom_de_la_variable_dans_WS
    Tu pourras utiliser la variable définie dans le premier fichier comme variable dans le second.
    Note : Ceci est valable sous MatLab, le code sous SciLab peut différer.

    J'espère que cela répond à ta question.

    Cordialement,

  19. #18
    nikob88

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Bonjour TounBk,
    Merci pour ta réponse.

    Pour appliquer ce que tu dis, il faudrait executer le programme où est inscrit "sauver" la variable et sa valeur. Or, justement, je ne veux pas executer ce premier programme, mais juste prendre les valeurs des constantes.

  20. #19
    gg0
    Animateur Mathématiques

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    Si le programme a été exécuté et est fini, les seules "constantes" qui sont éventuellement disponibles, sont celles qu'il aura sauvegardées dans un fichier prévu à cet effet. Donc si le programme ne les sauvegarde pas, elles sont perdues dans la mémoire vive de l'ordinateur, éventuellement effacées pour utiliser la place mémoire.

    Tu sembles toujours confondre "programme" et "exécution de programme". Il n'y a que pendant l'exécution que le programme conserve les entrées fournies par l'utilisateur, et encore, si la variable n'est pas modifiée.

  21. #20
    TounBk

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    En clair, tu souhaites dissocier deux programmes :

    Un contenant le code d'exécution de ce que tu souhaites faire et l'autre contenant les paramètres nécessaires à l'exécution ?

    Je t'invite à réfléchir sur son utilité. Dissocier ces deux parties n'a pas grand intérêt en soi si l'on considère que l'un ne peut fonctionner sans l'autre et que l'autre est inutile sans l'un

    A ce moment là, enregistre simplement tes données sous forme de tableau Excel (ou autre outil) de façon à être lisible par Scilab (fonction xlsread ou xlswrite - code MatLab toujours).
    Tu auras donc un fichier de données ET un programme capable de lire le-dit fichier.

    Cordialement,
    Dernière modification par TounBk ; 06/07/2012 à 14h08.

  22. #21
    Floria

    Re : [SCILAB] Récupération d'une variable d'un second fichier scilab

    D'accord! en fait ton premier fichier contient les données et exécute un programme les utilisant, et tu voudrais reprendre ce données dans un deuxième fichier sans exécuter le programme, c'est bien ça?

    Je crois pas que ce soit possible, franchement. Je ne connaît pas la méthode de TounBk (j'ai jamais utilisé un autre logiciel en commun avec scilab) mais je te proposerait effectivement plutôt de faire un truc dans ce genre là.
    ça ferait en fait trois fichiers: un avec les données (les constantes) et les deux autres avec tes deux programmes, qui exécuteraient chacun le premier. (ton premier fichier avec les données n'exécuterait plus ton premier programme quoi)
    C'est un peu lourd mais si tu veux exécuter un programme et pas l'autre je vois pas d'autre solution...En outre, ça serait certainement plus clair pour un utilisateur extérieur et ça éviterait que tes deux programmes ne soient dépendants: ils ne dépendent plus que du fichier de données.

    A moins que...tu peux peut-être faire un "if" dans ton premier fichier de données, pour soumettre l'exécution du premier programme à une condition...mais alors là, je risque de me mélanger avec le C dans c'est à vérifier.
    En gros tu définis une autre variable dont la valeur est laissée à définir par l'exécuteur. Si la valeur exécutée est 1 alors il exécute en plus ton premier programme, sinon non.
    C'est pas très propre à mon goût, mais s'il faut absolument que ton fichier de données exécute également ton premier programme, alors je vois pas comment faire autrement.

Discussions similaires

  1. [SCILAB] Sauver valeur d'une boucle for dans un fichier texte
    Par nikob88 dans le forum Mathématiques du supérieur
    Réponses: 1
    Dernier message: 26/05/2012, 21h11
  2. plantage de scilab à l'ouverture d'un fichier excel
    Par invitebb29dda1 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 18/09/2010, 16h55
  3. [SCILAB]Lecture de fichier texte
    Par invite7fc04a1a dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 14/07/2010, 18h17
  4. [scilab]variable non définie
    Par invite1cede1ba dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 23/11/2009, 20h01
  5. lecture fichier scilab
    Par invited2eca4c5 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 11/07/2005, 16h21