Plottaggio funzione derivata

di il
2 risposte

Plottaggio funzione derivata

Salve a tutti ragazzi, scrivo in merito ad un problema di plottaggio della derivata di una funzione rispetto al tempo, in allegato il mio codice
%dati problema
clc
close 

a1=4;
a2=8;
a3=6;
a4=7;
teta4=pi/6;
Xa=0;
Ya=0;
Xd=Xa+a4*cos(teta4);
Yd=Ya+a4*sin(teta4);

%dichiaro alfa ed il tempo e stampo
t=[0:0.01:1];
n=length(t);
teta1= linspace(0,2*pi,n);

figure(1)

for i=1:length(teta1)           %for figura 1

    cla
    
Xb=Xa+a1*cos(teta1(i));
Yb=Ya+a1*sin(teta1(i));


    
a5=sqrt( (a4*cos(teta4)-a1*cos(teta1(i)))^2+(a4*sin(teta4)-a1*sin(teta1(i)))^2 );

teta5(i)=atan2((a4*sin(teta4)-a1*sin(teta1(i))),(a4*cos(teta4)-a1*cos(teta1(i))));

alfa=acos((a2^2+a5^2-a3^2)/(2*a2*a5));

if abs(imag(alfa))>0
    alfa=NaN;
end

teta2=alfa+teta5(i);

Xc(i)=a1*cos(teta1(i))+a2*cos(teta2);
Yc(i)=a1*sin(teta1(i))+a2*sin(teta2);

teta3=atan2((Yc-Yd),(Xc-Xd));

 hold on

   plot (Xa,Ya,'o');
   plot (Xb,Yb,'o');
 
   plot (Xc(i),Yc(i),'o');

   plot (Xd,Yd,'o');
   plot (Xc(1:i),Yc(1:i));

 line ([Xa,Xb],[Ya,Yb]);
 line ([Xb,Xc(i)],[Yb,Yc(i)]);
 line ([Xc(i),Xd],[Yc(i),Yd]); 
 pause(0.1)
 
 [ sqrt((Xa-Xb)^2+(Ya-Yb)^2)   sqrt((Xc(i)-Xb)^2+(Yc(i)-Yb)^2)   sqrt((Xc(i)-Xd)^2+(Yc(i)-Yd)^2) sqrt((Xa-Xd)^2+(Ya-Yd)^2) ];
  


 xlim([-10 15])
 ylim([-10 10])
 axis equal

 
end 

figure(2)
plot (t,teta5);



 xlabel ('Tempo');
 ylabel ('Teta5');
 
 %Analisi velocità
 
 for i=1:length(t)
     
     
Q=(diff(teta1(i)));

V2(i)=((a1*Q)/(a2*a3*sin(teta2(i)-teta3(i)))*(-a3*cos(teta3(i))-a3*sin(teta3(i))*sin(teta1(i))));

%V3(i)=((a1*Q)/(a2*a3*sin(teta2-teta3))*(-a2*cos(teta2)-a2*sin(teta2))*(-cos(teta1(i))));

 end

figure(3)
plot (t(1,end-1),V2);



xlabel ('Tempo');
ylabel ('Velocità 2')
In pratica la prima parte mi gira il problema, molto probabilmente, ce l'ho nella dichiarazione della variabile Q (teta1 rappresenta la rotazione che do io in ingresso), in pratica mi serve derivare tale funzione per implementarla in una funzione a sua volta da plottare, V2, che dovrebbe indicarmi l'andamento velocità.

In attesa di un vostro riscontro, ringrazio anticipatamente a tutti.

2 Risposte

  • Re: Plottaggio funzione derivata

    In pratica la prima parte mi gira il problema, molto probabilmente, ce l'ho nella dichiarazione della variabile Q
    Quale è il problema?
  • Re: Plottaggio funzione derivata

    In pratica il mio problema parte dal commento %Analisi velocità (vedi codice), il problema e che non riesco a plottare la funzione che V2 in funzione del tempo (tempo dichiarato ad inizio codice) e molto probabilmente ho un problema di indice nel secondo for

    ??? In an assignment A(I) = B, the number of elements in B and
    I must be the same.

    Error in ==> quadrilatero at 89
    V2(i)=((a1*Q)/(a2*a3*sin(teta2(i)-teta3(i)))*(-a3*cos(teta3(i))-a3*sin(teta3(i))*sin(teta1(i))));
Devi accedere o registrarti per scrivere nel forum
2 risposte