• Aucun résultat trouvé

Matlab: applications en mécanique

N/A
N/A
Protected

Academic year: 2022

Partager "Matlab: applications en mécanique"

Copied!
5
0
0

Texte intégral

(1)

% etude statistique avec les operations logiques

% on fait varier la taille du tableau al!atoire for n=2:100:10000;

% on construit le tableau aleatoire a=rand(n,1);

% selection des elements plus grand que 0.9 s=a>0.9;

% on compte ces !l!ments c=sum(s)/n;

% on trace

plot(n,c,'r.',n,0.1,'k.');

hold on

xlabel('nombre d''elements');

ylabel('proportion de d''elements plus grand que 0.9');

ylim([0,1]);

end

0 2000 4000 6000 8000 10000

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

nombre d’elements

proportion de d’elements plus grand que 0.9

En rouge on trace pour un tableau de taille n donné, la proportion d’éléments qui sont plus grand que 0.9, cette proportion doit tendre naturellement vers 0.1 lorsque la nombre d’élément est très grand.

Matlab: applications en mécanique

LA207. Université Pierre et Marie Curie

www.lmm.jussieu.fr/~hoepffner/enseignement

Cours3: logiques et graphiques 3D

Ici un exemple d’utilisation des opérations logiques pour compter le nombre d’éléments qui satisfont à une inégalité. On l’utilise pour vérifier la propriété de convergence des probabiltités lorsque le nombre

d’éléments aléatoire est très grand.

(2)

% binarisation de l'image "sable.png"

% on lit l'image et on l'affiche subplot(2,1,1);

a=imread('sable.png');

image(a); axis equal tight;

title('image originale')

subplot(2,1,2);

lim=120;

% on ne prend qu'une seule couleur

% pour avoir une image en noir et blanc b=a(:,:,1);

% on binarise b(b>lim)=200;

b(b<lim)=1;

% on affiche l'image imagesc(b);

axis equal tight colormap gray xlabel('x');

ylabel('y');

title('image binarisee') drawnow

image originale

200 400 600 800 1000

100 200 300 400 500 600 700

x

y

image binarisee

200 400 600 800 1000

100 200 300 400 500 600 700

x

y

image binarisee

100 150 200 250 300

420 440 460 480 500 520 540 560 580 600 620

Ici un autre exemple, on utilise encore une fois une inégalité

pour selectionner tous les pixels d’une image qui sont

plus sombre ou plus clairs qu’une limite donnée. A partir

de cette sélection, on va binariser l’image: plutôt qu’un gradient de tons de gris, on va avoir deux couleurs. C’est une opération très utile pour le

traitement d’images scientifiques.

(3)

% la fonction plot3

theta=linspace(0,5*2*pi,1000);

r=1.1*theta;

% une animation

for t=linspace(0,6*pi,400);

% les coordonn!es x et y x=r.*cos(theta+t);

y=r.*sin(theta+t);

z=r; % l'altitude

% on trace

plot3(x,y,z,'b-');

xlabel('x');

ylabel('y');

zlabel('z');

grid on drawnow end

!!"

!#"

"

#"

!"

!!"

!#"

"

#"

!"

"

$

%"

%$

#"

#$

&"

&$

( '

)

Un exemple de tracé de lignes en 3 dimensions avec la fonction plot3. Ici une spirale Archimédienne sous

la forme d’une vis avec la coordonnées z en plus.

(4)

% on trace un champ de vecteur avec quiver n=20;

% definition des coordonn!es x=linspace(-pi,pi,n);

y=linspace(-pi,pi,n);

% on construit les deux tableaux de coordonn!es avec meshgrid [X,Y]=meshgrid(x,y);

% une boucle pour une animation for t=linspace(0,2*pi,200);

u=sin(X+t); v=sin(Y);

% on trace le champ de vecteurs quiver(X,Y,u,v);

xlabel('x');

ylabel('y');

drawnow;

end

!! !" !# !$ % $ # " !

!!

!"

!#

!$

%

$

#

"

!

&

'

Tracé d’un champ de vecteurs avec la fonction quiver. ici comme pour les exemples suivants avec

les fonctions mesh et surf, on utilise la fonction meshgrid pour générer les tableaux de

coordonnées.

(5)

% une surface avec surf n=50;

x=linspace(-pi,pi,n);

y=linspace(-pi,pi,n);

[X,Y]=meshgrid(x,y);

% animation dans le temps for t=linspace(0,6*pi,100);

% la formule pour f

f=exp(-1*(X.^2+Y.^2)).*sin(2*X+t);

% on trace avec surf surf(X,Y,f);

shading interp

xlabel('x');

ylabel('y');

zlabel('z');

% on impose les limites z et couleur zlim([-1,1]);

caxis([-1,1]);

drawnow end

Tracé d’une fonction de deux variables avec la fonction surf. On utilise shading interp pour avoir

une distribution interpolée des couleurs.

Références

Documents relatifs

Même ambigüité sur le salaire minimum : d’un côté, il « semble associé à un ralentissement de la baisse de la part du travail peu qualifié » mais, d’un autre côté, il

4) Avec la fonction ginput, mesurez les valeurs successives de x(t) en mètres: la distance horizontale entre le point le plus à gauche de la boule à t=0, et le point le plus à

2) Avec la fonction ginput, mesurez les positions successives (xc,yc) du point de contact. On ne prend pas en compte les images pour lesquelles la boule ne touche plus le

2) Avec la fonction ginput, mesurez les positions successives (xc,yc) du point de contact. On ne prend pas en compte les images pour lesquelles la boule ne touche plus le

Dans votre répertoire d’utilisateur sous linux, créez le répertoire matlab2 Dans l’éditeur de texte de Matlab, créez un nouveau script, que vous nommez series.m que vous

9) Maintenant une dernière manière pour estimer u 0 : pour chaque valeur successive de u 0 entre 0.1 et 0.5m/s, calculez l’erreur E au sens des moindres carrés entre la

On voit ici que l’accord entre les trajectoires est bon avant le rebond, mais le rebond n’est pas bien pris en compte. probablement, la balle se met à tourner lors

On a visualisé le baton pour chaque temps, et on a aussi tracé les trajectoires du centre, en noir ligne pointillée, et en bleu et rouge pour les extrémités.. On a utilisé la