global k l m M g A w
k=120; l=0.5; m=3; M=8; g=9.81; A=0; w=2;
x10=0.3; x_dot10=0; teta10=pi/4; teta_dot10=0;
x20=0.30001; x_dot20=0; teta20=pi/4; teta_dot20=0;
options=odeset('RelTol',1e-8);
[t1,teta1] = ode45('foncPendule',[0:0.1:200],[x10 x_dot10 teta10 teta_dot10],options);
[t2,teta2] = ode45('foncPendule',[0:0.1:200],[x20 x_dot20 teta20 teta_dot20],options);

N=11;h=0.1;lbloc=0.1;
x1=zeros(N+1,1);y1=zeros(N+1,1);
x1bis=zeros(1,1);y1bis=zeros(1,1);% position bout du pendule
x1bloc=zeros(2,1);y1bloc=zeros(2,1);% bloc

x2=zeros(N+1,1);y2=zeros(N+1,1);
x2bis=zeros(1,1);y2bis=zeros(1,1);% position bout du pendule
x2bloc=zeros(2,1);y2bloc=zeros(2,1);% bloc


for i=2:max(size(t1))
    tic
    
    %Modele 1
    for j=1:N+1 %ressort
        x1(j)=teta1(i,1)*(j-1)/(N);%teta1(i,1) = x
        y1(j)=h*(-1)^(j+1);
    end
    y1(1)=0;y1(end)=0;y1(end-1)=0;
    x1bis=x1(end)+l*sin(teta1(i,3));
    y1bis=-l*cos(teta1(i,3));%teta1(i,3) = theta
    x1bloc(1)=x1(end)-lbloc/2;x1bloc(2)=x1(end)+lbloc/2;
    
    %Modele 2
    for j=1:N+1 %ressort
        x2(j)=teta2(i,1)*(j-1)/(N);
        y2(j)=h*(-1)^(j+1);
    end
    y2(1)=0;y2(end)=0;y2(end-1)=0;
    x2bis=x2(end)+l*sin(teta2(i,3));
    y2bis=-l*cos(teta2(i,3));
    x2bloc(1)=x2(end)-lbloc/2;x2bloc(2)=x2(end)+lbloc/2;
    
    subplot(2,1,1,'replace');
    title(['Pendule avec ressort - k=',num2str(k),' avec mouvement impose de Asin(wt) avec A=',num2str(A),' et w=',num2str(w)]);
    xlabel('X [unites de longueur arbitraire]');
    ylabel('Y [unites de longueur arbitraire]');
    axis([-2*x10 2*x10 -2*l 2*l]);
    
    %Trace modele 1
    line(x1,y1,'Color','k','LineWidth',1.5);
    line([x1bloc(1) x1bloc(2)],[0 0], 'LineWidth',15); %epaississement de la ligne pour simuler un bloc
    line([x1(end) x1bis],[y1(end) y1bis],'Color','r','LineWidth',2);
    line([x1bis],[y1bis],'Marker','.','MarkerSize',40,'Color','r');
    
    %Trace modele 2
    line(x2,y2,'Color','c','LineWidth',1.5);
    line([x2bloc(1) x2bloc(2)],[0 0], 'LineWidth',15,'Color','m'); %epaississement de la ligne pour simuler un bloc
    line([x2(end) x2bis],[y2(end) y2bis],'Color','m','LineWidth',2);
    line([x2bis],[y2bis],'Marker','.','MarkerSize',40,'Color','m');
    
    subplot(2,1,2);    
    %plans des phases : \theta(d\theta/dt)
    ylabel('\theta point');
    xlabel('\theta');
    line([teta1(i-1,3) teta1(i,3)],[teta1(i-1,4) teta1(i,4)],'Color','r');
    line([teta2(i-1,3) teta2(i,3)],[teta2(i-1,4) teta2(i,4)],'Color','b');
    
    while toc<0.025;end
    drawnow;
    
end