bonjour
j ai passer des heures a essayer de régler le probleme mais j y sus pas arriver

je dois tracer un une courbe qui depend d un paramete que je dois modifier avec un slider.
le probleme c'est que pour que je puisse tracer a chaque fois la nouvelle courbe en apres avoir changer le slide je dois recuperer une valeur wO qui est definie dans une autre fonction.
je sais c'est pas clair mais je pense qu avec le bout du code concerner il y a moyende 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
43
44
45
46
47
48
49
function lancer2(obj,event)
data2=guidata(gcbf);
P = str2num(get(data2.pulsationspropres1,'string'));
W = str2num(get(data2.condinitiale1,'string'));
K = str2num(get(data2.matricedinter,'string'));
wp=str2num(get(data2.pulsationP,'string'));
Kp=str2num(get(data2.KP,'string'));
X=size(P);
n=X(1,2);
w0 = [n,Kp,W,P];
for l=1:n-1
    for s=l+1:n
        w0=[w0,K(l,s)];
    end
end
w0(1,2*n+3+n*(n-1)/2)=wp;
tspan=0:0.001:5;
options = odeset('RelTol',1e-12);
[t,w]=ode45(@kuramuto2,tspan,w0',options);
A=size(t);
A(1,1);
M=zeros(size(t));
for m=3:n+2
M=M+exp(i*w(:,m));
end
r=abs(M/n);
ksi=angle(M/n); 
 
if (data2.Vrp==1)
 
    figure('units','pixels',...
    'position',[250 250 500 500],...
    'color',[0.925 0.913 0.687],...
    'numbertitle','off',...
    'name','graphe de r',...
    'menubar','figure',...
    'tag','graphe');
 
    sli=uicontrol('Style','slider',...
    'Min' ,0,'Max',Kp+50, ...
    'Position',[10,220,130,20], ...
    'Value', Kp,...
    'SliderStep',[0.001 0.1], ...
    'CallBack',@slider(w0,n),...
    'tag','slider');      
    data3=guihandles(gcf);
    guidata(gcf,data3);
    plot(t,r);
end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function slider(w,n)
R=get(data3.slider,'value');
w(1,2)=R
tspan=0:0.001:5;
options = odeset('RelTol',1e-12);
[t,w]=ode45(@kuramuto2,tspan,w',options);
A=size(t);
A(1,1);
M=zeros(size(t));
for m=3:n+2
M=M+exp(i*w(:,m));
end
r=abs(M/n);
plot(t,r)
il se peut et même c'est tres probable que la function slider soit mal definie

merci d avance, je sais que c est pas facile je suis a votre disposition pour plus de details