[Scilab] Nommer n matrices de M1 à Mn

Fontsky -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
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 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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
Fontsky
 
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 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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
Fontsky
 
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 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
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