Connection 20-sim / MATLAB
Bonjour,
J'utilise 20-sim pour faire des simulations de systèmes mécaniques. Il y a une connectivité possible avec matlab. Pour celà, il faut régler un path dans matlab et la fonction !matlab -regserver. J'ai suivi la procédure et celà a fonctionné.
J'ai donc essayé un code basic pour tester la connectivité avec 20-sim. Voici le code testé :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| variables
real x;
real y;
// at the start of the simulation
initialequations
// create an empty array a
doMatlab ('a = []; ');
// create an variable
doMatlab ('b=0; ');
// during simulation
equations
// calculate x
x = sin (time);
// send it to Matlab
toMatlab (x,'x');
// and add it to array a
doMatlab ('a = [ a x ]; ');
// in Matlab add 2 to x
doMatlab ('b = x + 2;');
// read matlab 'b' into 20-sim variable 'y'
fromMatlab(y,'b');
// at the end of the simulation
finalequations
// plot the resulting array in Matlab
doMatlab (' plot (a); '); |
Conclusion :
J'obtiens bien le plot dans matlab. Par contre, les variables qui font suite à doMatlab ne se retrouvent pas dans le workspace. J'aurais voulu transferer de cette manière des variables 20-sim dans le workspace de matlab.
Question :
Est-ce que vous aurez une idée de pourquoi je n'obtiens pas mes variables dans le workspace ? Y a-t-il une manip spéciale à faire lorsqu'on utilise
!matlab -regserver pour activer le workspace ? Peut-être que vos expériences relatifs à de la communication d'un logiciel avec matlab peut m'aider à résoudre mon soucis.
Merci pour votre aide.