Contents  
Functions  
 ![]() ![]() |
Il s’agit ici de réaliser une première simulation sur un système simple au comportement connu. Activité normale pour un ingénieur qui s’approprie un logiciel. Les objectifs annexes sont de vous familiariser avec MATLAB et faire des rappels de cours.
Questions posées :
Suggestions de programmation
% Create your deriv function which will have (t,y,PA) as inputs % Store all parameters in a structure PA=struct('A',[],'B',[],'u',[]); [t,y]=ode45(@deriv,tspan,y0,odeset,PA) % Use t,y for time, F,Y for frequency response % Damping study, store multiple results as a structure, then finalize plot damp=[ ??? ]; C1=struct('X',[],'Y',[]); % prepare structure for result for j1=1:length(damp) ??? C1.X=f; C1.Y(:,j1)=Y(:,1); % store first column for each result in loop end % Finalize plot plot(C1.X,C1.Y);xlabel('x');ylabel('y');set(gca,'xlim',[0 50])
Questions posées :
Suggestions de programmation
% Forced response PA.u=@(t)sin(10*t); % Define an "anonymous" function for response % Truncate the first 10 s ind=(t>10);t=t(ind);y=y(ind,:);
On considère maintenant la non-linéarité cubique classique (même si elle ne correspond pas souvent à une non-linéarité mécanique).
M q + C q + K (q+α q3) = F(t) (2) |
α=10−6 est une valeur de départ raisonable. Faites attention d’éliminer le régime transitoire lié à la condition initiale.
On considère une excitation par un sinus balayé.
PA=struct('A', ??? ,'B',[0;1],'u',[]); % Adjust damping here fmin=15;fmax=25;PA.u=@(t)cos((fmin+(fmax-fmin)/2*t/tspan(end))*t); % Sweep