bonjour
est ce que le code matlab ça marche sous linux(ubuntu) avec octave sans aucune modification?
merci d'avance
bonjour
est ce que le code matlab ça marche sous linux(ubuntu) avec octave sans aucune modification?
merci d'avance
Normalement oui... mais le plus simple c'est d'essayer
Tout dépend de la complexité du code et des fonctions spécfiques au Toolbox utilisées ?
Mais tu peux aussi intaller MATLAB sous Linux
j'ai essayé, mais j'ai trouvé des erreurs !
voila le code, vous pouvez m'aider ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37
38
39
40
41
42 clear figNumber=figure( ... 'Name','Pendule simple', ... 'NumberTitle','off', ... 'Visible','off', ... 'DoubleBuffer','on', ... 'Color', [0.5 0.5 0.5], ... 'BackingStore','off'); axes( ... 'Units','normalized', ... 'Position',[0.05 0.05 0.75 0.90], ... 'Visible','off', ... 'NextPlot','add'); figure(figNumber); L=5; g=9.81; x =[0 0]; a0=3; y=[0 0]; v0=2; f=sqrt(g/L); h=plot(x,y); set(h,'color',[1 0 0]); set(h,'lineWidth',1); h1=plot(-L*sin(-A),-L*cos(-A)+v0,'.'); set(h1,'MarkerSize',60); set(h1,'color',[1 1 0]); set(h1,'lineWidth',38); axis([-10 10 -10 10]) T=2*pi*sqrt(L/g);amort=0.1; pas=0.01; %======================================= for t =0:pas:100 A=(a0*sin(f*t)+v0); teta=-A*cos(2*pi/T*t)*exp(-amort*t); x=[0 -L*sin(teta)]; y=[v0 -L*cos(teta)+v0]; set(h,'Xdata',x,'YData',y) set(h1,'Xdata',x(2),'YData',y(2)); drawnow end
Essaie ceci :
Pour améliorer le code, il faudra explorer la documentation d'Octave : http://www.gnu.org/software/octave/doc/interpreter/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
30
31
32
33
34
35
36
37 clear figNumber=figure('Visible','on', ... 'Color', [0.5 0.5 0.5]); axes('NextPlot','add'); L=5; g=9.81; x =[0 0]; a0=3; y=[0 0]; v0=2; f=sqrt(g/L); h=plot(x,y); t=0; A=(a0*sin(f*t)+v0); set(h,'color',[1 0 0]); set(h,'lineWidth',1); h1=plot(-L*sin(-A),-L*cos(-A)+v0,'.'); set(h1,'MarkerSize',60); set(h1,'color',[1 1 0]); set(h1,'lineWidth',38); axis([-10 10 -10 10]) T=2*pi*sqrt(L/g);amort=0.1; pas=.01; %======================================= for t =0:pas:100 A=(a0*sin(f*t)+v0); teta=-A*cos(2*pi/T*t)*exp(-amort*t); x=[0 -L*sin(teta)]; y=[v0 -L*cos(teta)+v0]; set(h,'Xdata',x,'YData',y) set(h1,'Xdata',x(2),'YData',y(2)); drawnow end
merci beaucoup,donc il faut modifier un peu le code puisque l'execution est presque une boucle infinie
C'est normal vu le pas que tu utilises et la limite supérieur de la boucle FOR-END, tu demandes à MATLAB de faire 10001 itérations
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager