[Scilab] Nommer n matrices de M1 à Mn

Fermé
Fontsky - 1 juil. 2006 à 16:20
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 - 7 juil. 2006 à 12:59
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

Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
4 juil. 2006 à 08:42
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
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
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
5 juil. 2006 à 08:53
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
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
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
7 juil. 2006 à 12:59
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