0% ont trouvé ce document utile (0 vote)
43 vues6 pages

Correction TP3 Matlab

Le document présente des exercices de mathématiques appliquées, incluant des calculs de racines de polynômes, de rang de matrices et des conversions entre coordonnées cartésiennes et polaires. Il aborde également des concepts de dérivation et d'intégration en utilisant MATLAB. Enfin, des fonctions spécifiques sont définies pour des calculs tels que la suite de Fibonacci et le produit vectoriel.

Transféré par

don60freefire
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)
43 vues6 pages

Correction TP3 Matlab

Le document présente des exercices de mathématiques appliquées, incluant des calculs de racines de polynômes, de rang de matrices et des conversions entre coordonnées cartésiennes et polaires. Il aborde également des concepts de dérivation et d'intégration en utilisant MATLAB. Enfin, des fonctions spécifiques sont définies pour des calculs tels que la suite de Fibonacci et le produit vectoriel.

Transféré par

don60freefire
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

UNIVERSITE CHOUAIB DOUKKALI

ECOLE NATIONALE DES SCIENCES


APPLIQUEES
EL JADIDA
Année Universitaire : 2023/2024

Correction TP. N° 3

Exercice N°1
1)
>> P = [3, -1, 2, -9]

P=

3 -1 2 -9

2)
>> racines = roots(P);
disp(racines);

-0.5312 + 1.3665i
-0.5312 - 1.3665i
1.3957 + 0.0000i

%% commentez ; on remarque que tt les solutions sont des complexes

3)
>> resultat_x1 = polyval(P, 1)

resultat_x1 =

-5

>> resultat_x1_5 = polyval(P, 1.5)

resultat_x1_5 =

1.8750

4)
>> racines = [1.5 + 0.5i, 1.5 - 0.5i];
f = poly(racines);
disp('Polynôme f(x) à partir de ses racines:');
disp(f);
Polynôme f(x) à partir de ses racines:
1.0000 -3.0000 2.5000
5)
ENSAJ | Année Universitaire : 2023/2024 Pr. E. M. SADEK
f_multiplie = f * 2;
racines_f_multiplie = roots(f_multiplie);
disp('Nouvelles racines de (f(x)*2):');
disp(racines_f_multiplie);

6
>> P1 = [2, 5, -9]; % Coefficients de P1(x)
P2 = [3, 4]; % Coefficients de P2(x)
7)

racines_P1 = roots(P1);
racines_P2 = roots(P2);

7-2)
x = linspace(-50, 50);
Y1 = polyval(P1, x);
Y2 = polyval(P2, x);
8)
>> figure;
plot(x, Y1, 'b', 'LineWidth', 2); % Courbe bleue pour P1(x)
hold on;
plot(x, Y2, 'r--', 'LineWidth', 2); % Courbe rouge en pointillés pour P2(x)
legend('P1(x)', 'P2(x)');
9)
>> title('Courbes des polynômes P1(x) et P2(x)');
xlabel('Valeurs de x');
ylabel('Valeurs de P1(x) et P2(x)');
10
>> figure;
subplot(2,1,1);
plot(x, Y1, 'b', 'LineWidth', 2);
title('Courbe de P1(x)');
xlabel('Valeurs de x');
ylabel('Valeurs de P1(x)');

subplot(2,1,2);
plot(x, Y2, 'r--', 'LineWidth', 2);
title('Courbe de P2(x)');
xlabel('Valeurs de x');
ylabel('Valeurs de P2(x)');

Exercice N°2
1)
% Définir la matrice A et le vecteur b
A = [2 1 -3; 1 -2 1];
ENSAJ | Année Universitaire : 2023/2024 Pr. E. M. SADEK
b = [1; 2];
disp(A);
disp(b);

% Calculer le rang de la matrice A


rang_A = rank(A)

2)% Définir la matrice B


B = [A b]

% Afficher la matrice B

disp(B);
3)
% Calculer le rang de la matrice B
rang_B = rank(B);
% conclusion: rank(A)==rank(B) alors e système est plein rang,
% donc il a une unique solution
4)
% Définir le vecteur c
c = [1; 1; 1]
% Calculer l'image de c par la matrice A
image_c = A * c;
disp(image_c);

5) % Résoudre l'équation Ax = b

x= A \ b;
disp(x);

Exercice N° 3
1) %fonction de Fibonacci

function y = fibo(n)
fib = [1, 2];
for i = 3:n
fib(i) = fib(i-1) + fib(i-2);
end
y = fib(n);

2)
%%fonction cartesian_to_polaire

function [r, a] = cartesian_to_polar(x, y)


% Calculer le rayon r
r = sqrt(x^2 + y^2);
ENSAJ | Année Universitaire : 2023/2024 Pr. E. M. SADEK
% Calculer l'argument a
if y ~= 0
a = atan(x / y); % Arctangente de x / y
elseif x > 0
a = pi / 2; % Cas où y = 0 et x > 0
elseif x < 0
a = -pi / 2; % Cas où y = 0 et x < 0
else
a = NaN; % Cas où x = y = 0, l'argument est indéfini
end
end

%%% voila un exemple qui teste le bon déroulement de la fonction

% Coordonnées cartésiennes du point


x = 3;
y = 4;

% Appel de la fonction pour convertir les coordonnées en polaires


[r, a] = cartesian_to_polar(x, y);

% Affichage des coordonnées polaires


disp(['Coordonnées polaires : r = ' num2str(r) ', a = ' num2str(a)]);

3)
% fonction qui renvoie le produit vectoriel de deux vecteur v et w
function pv= prodv(v, w)
Pv= cross(v,w)
end

4)%% fonction qui calcul la trace d’une matrice A si A est une matrice carrée

function t = matrace(A)
% Vérifier si A est une matrice carrée
[m, n] = size(A);
if m ~= n
% Si A n'est pas carrée, renvoyer -1
t = -1;
else
% Si A est carrée, calculer sa trace
t = trace(A);
end
end

ENSAJ | Année Universitaire : 2023/2024 Pr. E. M. SADEK


Exercice N° 4
1)
% Définir la fonction f(x)
f = @(x) sqrt(1 + exp(x))

% Définir les bornes de l'intervalle d'intégration


a = 0;
b = 2;

% Évaluer l'intégrale
resultat = integral(f, a, b)

% Afficher le résultat
disp(['L intégrale de f(x) sur l intervalle [0, 2] est : ' num2str(resultat)]);

2)
Pour déterminer les dérivées première et seconde de la fonction f(x)
vous pouvez utiliser la différenciation symbolique en MATLAB(syms x)"
pour calculer les dérivées première et seconde de la fonction
en utilisant la fonction polyder() de MATLAB,
nous devons d'abord représenter la fonction sous forme de polynôme.
Cependant, cette fonction n'est pas une fonction polynomiale.":
Voici comment vous pouvez le faire :
syms x;

% Définir la fonction f(x)


f = sqrt(1 + exp(x));

% Calculer la dérivée première f'(x)


f_prime = diff(f, x);
ENSAJ | Année Universitaire : 2023/2024 Pr. E. M. SADEK
% Calculer la dérivée seconde f''(x)
f_double_prime = diff(f_prime, x);

% Afficher les résultats


disp(['La dérivée première f''(x) est : ' char(f_prime)]);
disp(['La dérivée seconde f''''(x) est : ' char(f_double_prime)]);

ENSAJ | Année Universitaire : 2023/2024 Pr. E. M. SADEK

Vous aimerez peut-être aussi