<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#330000">
    Oups, désolé.<br>
    Global ne marche effectivement pas avec l'optimisation<br>
    <br>
    <br>
    On 04/06/2012 14:27, Adrien Vogt-Schilb wrote:
    <blockquote cite="mid:4FCCA9CA.4070804@centre-cired.fr" type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      Bonjour<br>
      <br>
      global est votre ami:<br>
      <br>
      function update_a()<br>
          global a<br>
          a =a +1<br>
      endfunction<br>
      <br>
      <br>
      global a<br>
      <br>
      a= 0<br>
      update_a()<br>
      a<br>
      update_a();<br>
      update_a();<br>
      update_a();<br>
      update_a();<br>
      <br>
      a<br>
      <br>
      <br>
      <br>
      à lire:<br>
      <br>
      help global<br>
      <a moz-do-not-send="true" class="moz-txt-link-freetext"
        href="http://wiki.scilab.org/howto/global%20and%20local%20variables">http://wiki.scilab.org/howto/global%20and%20local%20variables</a><br>
      <br>
      On 01/06/2012 22:56, Binoyte wrote:
      <blockquote
cite="mid:CAJO2YB5KMAAkxYLz6-MBELf3ALHPMpEPjF4-jtSSMgeORPiZBA@mail.gmail.com"
        type="cite">Bonjour,<br>
        <br>
        je voudrais savoir si il est possible de passer les arguments
        par référence a une fonction écrite en Scilab. En gros je
        cherche une analogie à l'écriture C++ suivante : <br>
        <br>
        <span style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">void

          ma_fonction(struct & parametre) </span><br
          style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
        <span style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)"><span
            style=""></span>{</span><br style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
        <br style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
        <span style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
              parametre.propriete = ....;</span><br
          style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
        <br style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">
        <span style="font-family:courier
          new,monospace;background-color:rgb(255,255,255);color:rgb(0,0,153)">}</span><br
          style="color:rgb(0,0,153);background-color:rgb(255,255,255)">
        <br>
        <br>
        En Scilab je ne trouve pas trop d'autres solutions que d'écrire
        : <br>
        <br>
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">function  this =
          ma_fonction (parametre)</span><br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">     this = parametre;</span><br
          style="font-family:courier new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">     this.propriete =
          .....</span><br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">endfunction</span><br>
        <br>
        <br>
        Le problème c'est qu'avec la version Scilab on fait d'abord une
        copie de la variable, ça prend du temps et beaucoup de
        ressources. D'autant qu'ensuite, dans mon programme, les
        fonctions sont appelées de nombreuses fois vue que je lance par
        la suite des fonctions d’optimisation. J'utilise des structures
        qui décrivent les composants mécaniques d'un système.
        L’optimisation peut faire varier le nombre de composants. Dans
        ce cas je ne pense pas pouvoir utiliser les variables globales,
        en tout cas, pas selon l'exemple ci- après :<br>
        <br>
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">function  ma_fonction
          (parametre)</span><br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">       </span><br
          style="font-family:courier new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">    global parametre;</span><br
          style="font-family:courier new,monospace;color:rgb(51,51,153)">
        <br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">    parametre.propriete =
          .....</span><br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">endfunction</span><br
          style="font-family:courier new,monospace;color:rgb(51,51,153)">
        <br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">//************</span><br
          style="font-family:courier new,monospace;color:rgb(51,51,153)">
        <br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">global Monsieur;</span><br
          style="font-family:courier new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">Monsieur.Age = 31;</span><br
          style="font-family:courier new,monospace;color:rgb(51,51,153)">
        <br style="font-family:courier
          new,monospace;color:rgb(51,51,153)">
        <span style="font-family:courier
          new,monospace;color:rgb(51,51,153)">ma_fonction(Monsieur);</span><br>
        <br>
        Je vous remercie par avance de vos conseils.<br>
        <br>
        Cordialement,<br>
        <br>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>