Page 1 of 1

[TS.SPÉ & TES.SPÉ] Courbe polynomiale

Unread postPosted: 29 Nov 2014, 16:39
by cpierquet
Ayant eu l'année dernière des élèves un petit peu calés et intéressés par l'algorithmique (tous sur TI Z80 je précise), on a été amenés à travailler et à réfléchir sur les courbes polynomiales passant par des points donnés dans le chapitre des matrices.

Le principe leur a semblé "facile et automatisable" puisque les matrices utilisées sont obtenues uniquement à l'aide des coordonnées des différents points :

On cherche une courbe polynomiale passant par des points donnés
* le nombre de points donne le degré du polynôme : n points donne n inconnues donc un polynôme de degré n-1
* on obtient un système linéaire de n équations à n inconnues que l'on peut écrire matriciellement AX=B
* la matrice A (carrée d'ordre n) contient les puissances décroissantes des abscisses des points considérés
* la matrice B (colonne à n lignes) contient les ordonnées des points considérés
* on résout via X=A^(-1)B


Le souci qui est apparu a été le traitement pour un point d'abscisse 0, car la boucle permettant de remplir la matrice A conduisait alors sur un 0^0... qui pose souci à nos calculatrices BASIC... alors que cela fait 1...

Donc la manière d'obtenir la matrice A nécessitait un remplissage particulier pour la dernière ligne, ce qui donne concrètement :

Variables
n est un entier
i et j sont des entiers
A et B sont deux matrices
Traitement
Lire la valeur de n
n*n est la dimension de A
n*1 est la dimension de B
Pour i allant de 1 à n
Lire la valeur de x
Lire la valeur de y
B(i;1) prend la valeur y
A(i;n) prend la la valeur 1
Pour j allant de 1 à n
A(i;n-j) prend la valeur x^j
FinPour
FinPour
Sortie
Afficher A^(-1)*B


Il ne "restait" plus qu'à transcrire tout ça sur les Z80, en donnant un petit coup de main pour la partie syntaxe matricielle, et le tour était joué.
Bien sûr, le programme ne teste pas si la matrice est inversible, ou bien si des points sont sur une même verticale... mais cela permet de combiner l'algo avec cette application des matrices !

Image


Par exemple, si on cherche une courbe polynomiale passant par
$mathjax$A(2\,;\,3)$mathjax$
,
$mathjax$B(4\,;\,-1)$mathjax$
,
$mathjax$C(1\,;\,7)$mathjax$
et
$mathjax$D(-6\,;\,1)$mathjax$
, on trouve que la courbe polynomiale passant par ces quatre points a pour équation
$mathjax$f(x) =\dfrac{107}{840}x^3-\dfrac{9}{40}x^2-\dfrac{253}{60}x+\dfrac{396}{35}$mathjax$


Image


Et la validation via Geogebra

Image


Voili, voilà, j'ai aussi les versions Nspire et Graph35+ qui sont sur mon blog


--The End--

Re: [TS.SPÉ & TES.SPÉ] Courbe polynomiale

Unread postPosted: 29 Nov 2014, 19:35
by Adriweb
Un grand merci de la part de ceux qui seront ciblés par le contenu - très bon post :)

Re: [TS.SPÉ & TES.SPÉ] Courbe polynomiale

Unread postPosted: 04 Dec 2014, 12:52
by Wistaro
Merci beaucoup ;-)