[Scilab] Nommer n matrices de M1 à Mn

Bonjour,

Je débute un peu sous Scilab et je suis devant un petit problème :

Je souhaite nommer automatiquement n matrices, pour qu'elles s'appellent M1, M2 ...Mn.

Pouvez-vous me donner l'algo, je n'arrive pas à le faire (ni à le trouver d'ailleurs). Et je ne peut pas franchement les écrire à la main (100 000 matrices)

Merci bien.

Fontsky.

4 réponses

  1. Contributeur
    salut.
    utilise la commande eval !
    for i=1:n
       eval(["M",i,"=",3*i+1]);
    end
    Je ne teste pas, dis moi si ça fonctionne.
    0
    1. Salut,

      Tout d'abord, merci pour ta contribution.

      J'ai essayé et voilà la réponse injurieuse :

      -->;exec("/Users/-----------------");
      eval(["M",i,"=",3*i+1]);
      !--error 4
      undefined variable : %c_c_s
      at line 4 of exec file called by :
      ;exec("/Users/------------------");

      Je crois que ça ne fonctionne donc pas...

      Merci quand même!

      Fontsky.
      0
  2. Contributeur
    Salut.
    Exact, ça ne fonctionne pas !
    à chaque foi je me fait avoir (c'est pas la première fois que je le fait), il faut transformer les variable 'i' et '3*i+1' en string, grace à la commande
    num2str(i,10).
    Voila, ç fonctionne sous Octave, ça devrai tourner sous Scilab.
    Sauf si la fonction eval porte un autre nom...
    0
    1. Salut,

      En fait, la commande numstr() est une commande Matlab qui correspond à la commande evstr() ou execstr() sur Scilab. Malheuresement, je ne parviens pas à trouver la syntaxe correcte pour de telles commmandes.

      Autre question : Sais-tu comment on peut créer une interface sur Scilab? Je ne sais même pas si c'est possible mais ça me serait bien pratique, comme on pourrait le faire avec Visual Basic (fichier de type Form1), mais je ne sais pas si tu connais.

      J'apprécie ta dilligence.

      Merci encore.

      Fonstky.
      0
      1. Contributeur
        num2str, c'est pour transformer une valeur numérique en string.
        evstr(), ou execstr(), ça correspond plus à eval.
        Quelle est la commande que tu donne?
        Pour les interface, je ne sais pas de quoi tu parle, et je ne connais a priori pas.
        0