Boucler nom de variable, Scilab
Discutez d'informatique ici !
-
Nikolay
- Messages: 4
- Enregistré le: 07 Juil 2012, 19:43
-
par Nikolay » 07 Juil 2012, 19:54
Bonjour à tous,
Je dois fair un logiciel en Scilab avec à peu près 40 000 variables. La seul possibilité de le faire - c'est de faire le boucle avec le nom de la variable dynamique. Je sais le faire en Matlab, mais je ne trouve aucune information, comment résoudre ce probleme en Scilab. J'ai renversé tout l'Internet :mur: . Aidez moi s'il vous plait.
Si vous le pouviez sur cet exemple la (je l'ai fais dans le Matlab)
work=load('D:\Etudes\stage\Accelero\accelero\acc.txt');
for i=1:2
s=['x', int2str(i),'=work(:,', int2str(i),');']
eval(s)
end
Je vous remercie
-
Dlzlogic
- Membre Transcendant
- Messages: 5273
- Enregistré le: 14 Avr 2009, 12:39
-
par Dlzlogic » 07 Juil 2012, 20:19
Bonjour,
Excusez ma réponse un peu satirique, mais que cherchez vous réellement à faire ?
Vous allez certainement me rétorquer que je ne connait ni matlab, ni scilab et vous aurez raison, mais moi je vous rétorquerai "le but est d'écrire un outil avec tel logiciel ou bien de résoudre un problème ?".
Ces deux langages sont en utilisation libre, alors utilisez celui qui vous convient, écrivez un fichier résultat et relisez-le avec l'autre langage, et le tour est joué.
-
fatal_error
- Modérateur
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 07 Juil 2012, 20:20
pourquoi t'es obligé d'utiliser eval?
As-tu un exemple d'emploi ou tes variables doivent être dynamiques?
la vie est une fête

-
Nikolay
- Messages: 4
- Enregistré le: 07 Juil 2012, 19:43
-
par Nikolay » 07 Juil 2012, 20:40
Fatal error,
Je dois etudier la correlation entre 150 accelerogramms chaqun avec chaqun - ca fait 150^2/2=11250 variables de correlation à determiner. Tu pense que c'est realisable sans boucle?
-
Nikolay
- Messages: 4
- Enregistré le: 07 Juil 2012, 19:43
-
par Nikolay » 07 Juil 2012, 20:41
Dlzlogic
Matlab n'est pas gratuit pour les entreprises.
Dans notre entreprise il n'y a que Scilab.
-
fatal_error
- Modérateur
- Messages: 6610
- Enregistré le: 22 Nov 2007, 12:00
-
par fatal_error » 07 Juil 2012, 21:12
oui je vois pas pourquoi tu as besoin d'un eval.
Grossièrement, ne peux-tu pas faire un truc comme
- Code: Tout sélectionner
for i=1:nbAccelerogrammes;do
accelerogramme(i,:) = read('laccelerogramme%s,i')
done
Et après comparer les accelerogrammes entre eux?
for i=1:nbAccelerogrammes;do
for j=i+1:nbAccelerogrammes;do
correleated(i,j)=compare(accelerogramme(i),accelerogramme(j))
done
done
la syntaxe est grossière mais c'est pour l'idée.
Sinon l'alternative de matlab en gratuit, c'est octave (GPL).
la vie est une fête

-
Nikolay
- Messages: 4
- Enregistré le: 07 Juil 2012, 19:43
-
par Nikolay » 07 Juil 2012, 21:17
Merci, je vais penser la-dessus
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités