Utiliser Matlab pour importer des données et tracer des courbes

Transcription

Utiliser Matlab pour importer des données et tracer des courbes
Exercice préliminaire aux travaux pratiques : Utiliser Matlab pour importer des données et tracer des courbes
Exercice préliminaire aux travaux pratiques :
Utiliser Matlab pour importer des données
et tracer des courbes
Vous utiliserez ici Matlab pour tracer des courbes et insérer des données. Ouvrez un éditeur
pour conserver votre travail (tapez edit dans la fenêtre de contrôle Matlab).
1. Simple tracé Tracez la courbe y (x) = x2 pour x variant de 1 à 1000 avec 10000 points, ajoutez une grille, un
titre à votre figure, une légende, et des titres sur vos axes (cf. Fig. 1).
5
10
Trace simple
x 10
Puissance 2
9
8
7
y, unites
6
5
4
3
2
1
100
200
300
400
500
600
x, unites
700
800
900
1000
Figure 1 : Tracé simple.
2. Superposition de tracés
Tracez maintenant dans un second graphique la superposition des courbes y (x) = x2 et
y (x) = x4. Vous devriez obtenir un graphique similaire à la Fig. 2.
1/5
Exercice préliminaire aux travaux pratiques : Utiliser Matlab pour importer des données et tracer des courbes
11
10
Traces superposes
x 10
Puissance 2
Puissance 4
9
8
7
y, unites
6
5
4
3
2
1
100
200
300
400
500
600
x, unites
700
800
900
1000
Figure 2 : Superposition de deux courbes.
3. Tracé en échelle logarithmique
Tracez le même graphique mais avec des échelles logarithmiques, vous devriez obtenir une
image similaire à la Fig. 3.
Traces en echelle semi−logarithmique
12
10
Puissance 2
Puissance 4
10
10
8
y, unites
10
6
10
4
10
2
10
0
10
0
10
1
2
10
10
3
10
x, unites
Figure 3 : Représentation en échelles logarithmiques.
4. Importer et tracer des données
Vous aurez de plus en plus à acquérir les données d’un instrument via un ordinateur. Vous
souhaiterez ensuite traiter ces données. Afin de vous y préparer, importez les données du
fichier Data_Bode.csv où la première colonne représente la fréquence en Hz et la deuxième
colonne l’amplitude en dB du diagramme de Bode d’un filtre passe-bas.
Importez les données à l’aide de la fonction importdata, puis tracez la fonction de transfert en
utilisant échelle logarithmique pour les abscisses. Vous devriez obtenir la courbe présentée
Fig. 4.
2/5
Exercice préliminaire aux travaux pratiques : Utiliser Matlab pour importer des données et tracer des courbes
Diagramme de Bode
0
RC
−5
Transmission, dB
−10
−15
−20
−25
−30
−35
−40
1
10
2
10
Frequence, Hz
3
10
Figure 4 : Tracé de données importées.
Selon la langue de votre système, il peut être nécessaire de remplacer les points (séparateur de
décimales anglo-saxon) par des virgules (séparateur français).
3/5
Exercice préliminaire aux travaux pratiques : Utiliser Matlab pour importer des données et tracer des courbes
5. Correction
clear all
close all
clc
%Efface les variables en mémoire
%Ferme les figures
%Efface le contenu de la fenêtre de commande
%% Partie 1
x=linspace(1,1000,10000);
%Création d'un vecteur x
y2=x.^2;
%Création du vecteur y2, attention à mettre le "." !!
figure
%Créer une nouvelle figure
plot(x,y2)
%Tracé
axis tight
%Axes ajustés
grid on
%Grille
xlabel('x, unites')
ylabel('y, unites')
legend('Puissance 2')
%Légende
title('Trace simple')
%Titre
%% Partie 2
y4=x.^4;
figure
%Créer une nouvelle figure
plot(x,y2,x,y4)
%Tracés superposés (couleurs automatiques)
axis tight
%Axes ajustés
grid on
%Grille
xlabel('x, unites')
ylabel('y, unites')
legend('Puissance 2','Puissance 4')
%Légende
title('Traces superposes')
%Titre
%Autre possibilit?
%plot(x,y2);
%hold on
%Evite d'écraser l'ancienne figure
%plot(x,y4,'r');
%Le 'r' indique une couleur rouge
%% Partie 3
figure
%Créer une nouvelle figure
loglog(x,y2,x,y4)
%Tracés avec échelle log
%Utilisez semilogx pour une échelle log en abscisse
%Utilisez semilogy pour une échelle log en ordonnée
axis tight
%Axes ajustés
grid on
%Grille
xlabel('x, unites')
ylabel('y, unites')
legend('Puissance 2','Puissance 4')
%Légende
title('Traces en echelle semi-logarithmique')
%Titre
4/5
Exercice préliminaire aux travaux pratiques : Utiliser Matlab pour importer des données et tracer des courbes
%% Partie 4
data=importdata('Data_Bode.csv');
%Importe les données dans la variable
data
f=data(:,1);
%Récupère toutes les lignes (:) de la première colonne
h=data(:,2);
%Récupère toutes les lignes (:) de la deuxième colonne
h_dB=h;%20*log10(h);
%Conversion en dB, attention utilisez log10 car log
est le logarithme népérien !
figure
semilogx(f,h_dB)
axis tight
%Axes ajustés
grid on
%Grille
xlabel('Frequence, Hz')
ylabel('Transmission, dB')
legend('RC')
%Légende
title('Diagramme de Bode')
%Titre
5/5