Exercice 1 - Calcul et affichage de racines d’une fonction du second degré

Créer une fonction affiche_racine(poly) qui permet d’afficher un polynôme du second degré poly et ses racines si elles existent. La fonction du second degré poly sera codée sous forme d’un tableau de ses coefficients. Par exemple, la fonction $y =2x^2+4x-3$ sera codée $[{2}, {4}, {-3}]$ L’appel à la fonction depuis un script sera donc :

clear
close

a = input('Entrez la valeur de a (ax²+bx+c)');
b = input('Entrez la valeur de b (ax²+bx+c)');
c = input('Entrez la valeur de c (ax²+bx+c)');

affiche_racine([a b c])

a correspond au 1er élément du tableau poly soit poly(1), etc. … Les racines, si elles existent, seront affichées par un rond rouge avec leur abscisse (utiliser les fonctions sprintf et text)

function affiche_racine(f)
  % calcul du determinant
  delta = f(2).^2 - 4*f(1)*f(3);

  if delta > 0 % 2 racines
    x1 = (-f(2) - sqrt(delta))/(2*f(1));
    x2 = (-f(2) + sqrt(delta))/(2*f(1));
    
    % affichage de la courbe
    X = [min([x1 x2])-2:0.1:max([x1 x2])+1];
    Y = f(1)*X.^2 + f(2)*X + f(3);
    hold off;
    plot(X,Y);
    hold on;
    grid on;
    % affichage des racines
    plot(x1,0, "ro");
    text(x1,-1,sprintf("%.2f",x1));   
    plot(x2,0, "ro");
    text(x2,-1,sprintf("%.2f",x2));
    hold on;

  elseif delta == 0 % 1 racine  
    x1 = -f(2)/(2*f(1));
    % affichage de la courbe
    X = [x1-2:0.1:x1+1];
    Y = f(1)*X.^2 + f(2)*X + f(3);
    hold off;
    plot(X,Y);
    hold on;
    grid on;
    % affichage des racines
    plot(x1,0, "ro");
    text(x1,-1,sprintf("%.2f",x1));

  else % pas de racine réelle  
    X = [-2:0.1:2];
    Y = f(1)*X.^2 + f(2)*X + f(3);
    hold off;
    plot(X,Y);
    hold on;
    grid on;
  end 
  % message = functionToString(f);
  message = polyout(f);
  legend(message); 
  xlabel("x");
  ylabel("y"); 
end

Untitled

Exercice 2 - La fonction fplot

Untitled

Une autre fonction « utile » est possible pour afficher les courbes ; la fonction fplot (function plot) En donnant de manière formelle la fonction et l’intervalle d’affichage, vous pourrez tracer directement la courbe. Tracer la fonction $x^2-2$ en noir dans l’intervalle $[-2, 2]$ en une seule ligne de code.

<aside> ❗ Nota : la variable utilisée doit nécessairement s’appeler ‘x

</aside>

fplot('x.^2-2',[-2 2], 'k');

Exercice 3 - Une courbe en 3D

Afficher dans l’intervalle $[0, 30]$ la fonction $f(x,y,z)$ définie par :

$$ \begin{cases}x = t\\y =sin(t)\\z = cos(t) \end{cases} $$

hold off
X = [0:0.1:30]; % = t
Y = sin(X);
Z = cos(X);

plot3(X,Y,Z);

Untitled

Exercice 4 - Une surface en 3D

Définir la fonction z = formeetrange(x,y) qui calcule la fonction suivante