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