0% ont trouvé ce document utile (0 vote)
102 vues7 pages

Corrigé Matlab

Le document présente une série d'exercices pratiques en Matlab, couvrant des sujets tels que le tri de vecteurs, le calcul de minimum et maximum, l'approximation de fonctions trigonométriques, et la résolution d'équations. Chaque exercice est accompagné de code Matlab et d'explications sur les méthodes utilisées. Les exercices incluent également des visualisations graphiques et des calculs statistiques.

Transféré par

Rotetingar Changé
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
102 vues7 pages

Corrigé Matlab

Le document présente une série d'exercices pratiques en Matlab, couvrant des sujets tels que le tri de vecteurs, le calcul de minimum et maximum, l'approximation de fonctions trigonométriques, et la résolution d'équations. Chaque exercice est accompagné de code Matlab et d'explications sur les méthodes utilisées. Les exercices incluent également des visualisations graphiques et des calculs statistiques.

Transféré par

Rotetingar Changé
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Travaux Dirigés Matlab :

TD1 :
EXERCICE 1
clear all
clc

x = ceil(10*rand(1,5));
for i = 1:length(x) - 1
mini = x(i);
for j = i + 1:length(x);
if mini > x(j)
mini = x(j);
x(j) = x(i);
x(i) = mini
end
end
end

y = sort(x)

EXERCICE 2
clear all
clc

x = input('Entrer un vecteur: ');


mini = x(1);
maxi = x(1);
for i = 2:length(x)
if x(i) < mini
mini = x(i);
end
if x(i) > maxi
maxi = x(i);
end
end
disp('Le minimum du vecteur x est: ');
mini
disp('Le maximum du vecteur x est: ');
maxi

EXERCICE 3
clear all
clc

x = input('Entrer un angle: ');


n = 0;
y = 0;
while abs(y-sin(x)) > 1e-4
y = y + (((-1)^n)*x^(2*n+1))/factorial(2*n+1);
n = n + 1;
epsilon = abs(y-sin(x));
end
disp('La valeur du sinus de l''angle est: ');
y
sin(x)

EXERCICE 4
clear all
clc

x = input('Entrer un nombre: ');


while x > 0
if rem(x,2) == 0
disp('Le nombre x est pair.')
else
disp('Le nombre x est impair.')
end
x = input('Entrer un nombre: ');
end

EXERCICE 5
clear all
clc

m = input('Entrer le nombre de matières: ');


n = input('Entrer le nombre d''étudiants: ');
for i = 1:m
N(1:n,i) = input('Saisir les notes de la matière: ');
end
N
for j = 1:m
k = 0;
for i = 1:n
if N(i,j) < 10
k = k + 1;
end
end
fprintf('Le nombre d''échoués %d est: %d\n',j,k)
p = find(N(:,j) < 10);
Notes_Ech = N(p,j)
end

TD 2
EXERCICE 1
clear all
clc

A = -8:0.25:-5
B = 15:-1:3
C = linspace(-pi,pi,100)

D = [1 2 3; 2 3 1; 3 1 2]
D1 = D([2 3],[1 3])
D2 = D([2 3],1:2)
D3 = D([2 3],end)
D4 = D(:)
D5 = D([2 3],:)
D(1,:) = []

EXERCICE 2
clear all
clc
close all

fx = @(x) exp(-x/25);
gx = @(x) cos(x/10);
x = [1 10];

figure
subplot(2,2,[1,3])
fplot(fx,x,'b')
xlabel('abscisses')
ylabel('y = f(x)')
legend('f(x)')
title('Tracé de f(x) = exp(-x/25)')
subplot(2,2,[2,4])
fplot(gx,x,'r')
xlabel('abscisses')
ylabel('y = g(x)')
legend('g(x)')
title('Tracé de g(x) = cos(x/10)')

figure
fplot(fx,x,'b')
hold on
fplot(gx,x,'r')
xlabel('abscisses')
ylabel('y = f(x) et y = g(x)')
legend('f(x),g(x)')
title('Tracé de f(x) = exp(-x/25) et g(x) = cos(x/10)')
saveas (gcf,'Traces_fg','pdf')

EXERCICE 3
clear all
clc

[x,y] = meshgrid(-5:0.5:5,-5:0.5:5);
z = -(x.^2-y+11).^2-(x+y.^2-7).^2;
surface(x,y,z)
%view(3)
% mesh(x,y,z)
xlabel('axe OI')
ylabel('axe OJ')
title('surface')

EXERCICE 4
clear all
clc

y = [3.2;4.8;3.3;3.2;3.1;4.2;3.2;3.3]
n = length(y);
ycum = cumsum(y);
for i = 1:n
ybar(i) = ycum(i)/i;
end
ybar
y8 = ybar(8)
y8matlab = mean(y)

for i = 1:20
for j = 1:10
A(i,j) = i^2-j^3;
end
end
A

ENTRAINEMENT
EXERCICE 1
% Ecrire un programme qui calcul la somme de deux nombre A et B

clear all
clc

a = input('Veuillez entrer la valeur de a: ');


b = input('Veuillez entrer la valeur de b: ');
S = a + b;
disp('La somme S est:');
disp(S)

EXERCICE 2
% Ecrire un programme qui calcul le factoriel d'un nombre donné, en
% utilisant la boucle for
clear all
clc

x = input('Entrer un nonbre: ')


F1 = 1;
for i = 1:x
F1 = F1*i;
end
F1

% Avec la boucle while


i = 1;
F2 = 1;
while i < x
i = i + 1;
F2 = F2*i;
end
F2

EXERCICE 3
% Ecrire un programme qui permet de résoudre une équation du premier ordre
clear all
clc

a = input('a=');
b = input('b=');
if a == 0
disp('Impossible de resoudre cette équation')
else
x = -b/a;
end
x

EXERCICE 4
% Ecrire un programme qui permet de résoudre dan R une équation
% du second ordre

clear all
clc

a=input('Entrer la valeur de a:')


b=input('Entrer la valeur de b:')
c=input('Entrer la valeur de c:')
D=b*b-4*a*c
if D>0
x1=(-b-sqrt(D))/(2*a)
x2=(-b+sqrt(D))/(2*a)
elseif D==0
x=-b/(2*a)
else
disp('Pas de solution dans R')
end

EXERCICE 5
% Ecrire un programme qui demande à l'utilisateur d'entrer un nombre
% et affiche la table de multiplication de ce nombre en colonnes
clear all
clc

x = input('Entrer un nombre: ');


i = 1;
Tv = 1;
for i = 1:12
Tv(:,i) = x*i;
end
disp('La table de multiplication de x est: ')
Tv

EXERCICE 6
clear all
clc

% Résoudre l'équation f(x)=2x^2+6x-4


f = roots([2 6 -4])
% Résoudre l'équation g(x)=x^3-5x+1
g = roots([1 0 -5 1])

% Résoudre l'équation h(x)=x^4-2x^3+9x^2+x-7


h = roots([1 -2 9 1 -7])

% Résoudre l'équation i(x)=x^5/3+7x^4-5x/2+1/4


i = roots([1/3 7 0 0 -5/2 1/4])

% Résoudre l'équation i(x)=x^6+4x^2-1


j = roots([1 0 0 0 4 0 -1])

EXERCICE 7
clear all
clc

% Résolution d'un système d'équations à deux inconnues :


% 2x-3y=1
% -x+5y=8
A1 = [2 -3;-1 5];
B1 = [1;8];
S1 = A1\B1

% Résolution d'un système d'équations à deux inconnues :


% x-3y=-9
% 5x+5y=15
A2 = [1 -3;5 5];
B2 = [-9;15];
S2 = A2\B2

% Résolution d'un système d'équations à trois inconnues :


% 3x+2y-z=3
% 7x-5y+4z=-4
% x-y-16z=5
A3 = [3 2 -1;7 -5 4;1 -1 -16];
B3 = [3;-4;5];
S3 = A3\B3

EXERCICE 8

% Ecrire un programme permettant de calculer la moyenne de 10 notes d'un


% étudiant et affiche si celui-ci passe ou pas

clear all
clc

total = 0;
i = 0;
while i < 10
nombre = input('Entrer une note: ');
i = i + 1;
total = total + nombre;
end
Moyenne = total/10
if Moyenne >= 10
disp('Vous êtes admis.')
else
disp('Vous avez échoué.')
end

EXERCICE 9
clear all
clc

% créons un vecteur de taille 20 contenant des entiers aléatoires


% entre 0 et 20
U=fix(20*rand(1,20))

%rangeons les composantes par ordre croissant


V=sort(U)

%calculons les éléments deux à deux


W=V(1,1:19);X=V(1,2:20);Y=W+X

%écrivons le script le plus court possible pour calculer la somme


S=sum(V.^3)

EXERCICE 10
% 1. Définir un vecteur t qui contient 51 valeurs équidistantes
% entre -25 et 25 ;
t=linspace(-25,25,51);

% 2. Calculer le vecteur x = t^2 ;


x=t.^2;

% 3. Calculer le vecteur y qui contient t^3 mais dans l’ordre inverse ;


y=t(end:-1:1).^3;
% y=fliplr(t).^3; autre possibilité

% 4. Représenter x et y en fonction de t ;
Figure
subplot(2,1,1)
plot(t,x)
xlabel('t'); ylabel('x');
subplot(2,1,2)
plot(t,y)
xlabel('t'); ylabel('y');

% 5. Calculer la somme des éléments pairs de x ;


% l’une des trois lignes au choix
sum(x(fix(x/2)==x/2))
sum(x(rem(x,2)==0))
sum(x(mod(x,2)==0))

% 6. Calculer la somme des éléments positifs de y.


sum(y(y>0))

R. kadi

Vous aimerez peut-être aussi