bonjour,j'aimerais avoir un graphe tel que la fréquence w sur l'axe des abscisse ,y sur l'axe des ordonnés mais pour plusieurs valeur de m , j'ai un calcule matricielle, ca fonctionner pour un seul valeur de m .
voici ma code :
voici un exemple:
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 clear;clc;clf; z=[] for w=1:20 x=w/10 u1=m*g*m1 u2=u1/k2 U=[u1 0 u2 0]' Hx=[Hx1 Hx2 Hx3 Hx4;Hx5 Hx6 Hx7 Hx8;Hx9 Hx10 Hx11 Hx12;Hx13 Hx14 Hx15 Hx16] H0=[P1 0 P2 0;-P1*wa*Sa P1*as -P2*wb*Sb P2*bs;1 0 1 0;-wa*Sa as -wb*Sb bs] Hin=inv(H0+Hx) Hne=Hx-H0 N=Hne*Hin*U z(w)=sqrt((N(1)^2)+N(2)^2) end y=abs(z) plot(y)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 clear;clc;clf; m= [0.05; 0.1; 0.15; 0.25; 0.5; 1.25; 1.5]; r= [0:0.01:3]; for k=1: length (m) G(k,:)=sqrt((1+(2*m(k)*r).^2)./((1-r.^2).^2+(2*m(k)*r).^2)); end figure (1) plot(r, G) xlabel ('\omega/\omega_n') ylabel ('|x (i\omega)|/A') grid
Partager