Polynômes
Courbes polynomiales et leurs dérivées.
%------------------------------------------------------------------------- % tracé de courbes polynomiales et de dérivées. % utilisant la fonction diff % (c) JPaul Molina %------------------------------------------------------------------------ clear all; echo on; % domaine ? echo off; vmin=input('valeur inférieure ? : '); vmax=-9e6; while (vmax<=vmin) vmax=input('valeur supérieure ? : '); end; x=vmin:0.1:vmax; % le domaine de tracé echo on; %tracé de courbes polynomiales et de dérivées. % 2ème degré : entrer 2 % 3ème degré : entrer 3 % 4ème degré : entrer 4 % 5ème degré : entrer 5 echo off; index=input('Choix? : '); switch (index) case 2, a2=input('Entrer coefficient a2 : '); a1=input('Entrer coefficient a1 : '); a0=input('Entrer coefficient a0 : '); y=a2*(x.^2) + a1.*x + a0; % .^ et .* signifie opération élément par élément ! str=sprintf('y=(%d*x^2)+(%d*x)+(%d)',a2,a1,a0); case 3, a3=input('Entrer coefficient a3 : '); a2=input('Entrer coefficient a2 : '); a1=input('Entrer coefficient a1 : '); a0=input('Entrer coefficient a0 : '); y=a3*(x.^3) + a2*(x.^2) + a1.*x + a0; str=sprintf('y=(%d*x^3)+(%d*x^2)+(%d*x)+(%d)',a3,a2,a1,a0); case 4, a4=input('Entrer coefficient a4 : '); a3=input('Entrer coefficient a3 : '); a2=input('Entrer coefficient a2 : '); a1=input('Entrer coefficient a1 : '); a0=input('Entrer coefficient a0 : '); y=a4*(x.^4) + a3*(x.^3) + a2*(x.^2) + a1.*x + a0; str=sprintf('y=(%d*x^4)+(%d*x^3)+(%d*x^2)+(%d*x)+(%d)',a4,a3,a2,a1,a0); case 5, a5=input('Entrer coefficient a5 : '); a4=input('Entrer coefficient a4 : '); a3=input('Entrer coefficient a3 : '); a2=input('Entrer coefficient a2 : '); a1=input('Entrer coefficient a1 : '); a0=input('Entrer coefficient a0 : '); y=a5*(x.^5) + a4*(x.^4) + a3*(x.^3) + a2*(x.^2) + a1.*x + a0; str=sprintf('y=(%d*x^5)+(%d*x^4)+(%d*x^3)+(%d*x^2)+(%d*x)+(%d)',a5,a4,a3,a2,a1,a0); otherwise error('Non prévu !'); end; clf; plot(x,y,'r'); %tracé de y(x) en rouge hold on; %maintient les propriétés pour un autre tracé dx=diff(x); %incréments dx de la variable x dy=diff(y); % ..........dy............... y dy_dx=dy./dx; %dérivée % le vecteur dy_dx a un élément de moins plot( x(1:length(x)-1),dy_dx,'b'); % en bleu xlabel('x'); ylabel('y'); title(str); posX=round(length(x)/2 ); text(x(posX),y(posX),'y=f(x)'); text(x(posX),dy_dx(posX),'y'' = df/dx'); grid;
Dernière Modification : Lun 19 Mars 2007 13:28
Copyright © 1999-2010 Jean-Paul Molina Tous droits réservés.