Escolar Documentos
Profissional Documentos
Cultura Documentos
Remplacer une ligne par une combinaison de cette ligne et une autre Li
Li L j
On applique une série d’opérations blanches en normalisant et annulant on obtient finalement une matrice de la
forme :
1 0 y1' y1'
où la colonne représente la solution.
0 '
1 yN y'
N
[B]
Operations
Blanches
L ** *** ** L3 *** **
L2 *2 0 1 a23 y2
*
0 1 a23 y2 L3 *** 0 1 a23 y2
a22 * a33
**
0 a32
*
a33 y3 L3 L3 a13 L1 0 0 a33 y3
** *** **
0 0 1 Y3
L1 L1 a13
***
L1 1 0 0 Y0
L2 L2 a23 L1 0 1 0 Y1
**
0 0 1Y
2
2 x y z 4 2 1 1 4
2 x 2 y z 1 2 2 1 1
forme
matricielle
x y 4z 2
1 1 4 2
#include<stdio.h>
#include<conio.h>
void saisie(float*,int);
void affiche(float*,int);
void pivot(float*,int);
main()
{
float A[3][4];
int N=3;
printf("Entrez Les Coefficients De La Matrice Caracteristique \n");
saisie(A[0],N);
printf("Affhichage De La Matrice Caracteristique \n ");
affiche(A[0],N);
pivot(A[0],N);
printf("Affichage De La Matrice Diagonalisee \n");
affiche(A[0],N);
scanf("%d",&N);
}
void saisie(float*p,int M)
{
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<M+1;j++)
{
printf("A[%d][%d]=",i,j);
scanf("%f",p+(M+1)*i+j);
}
}
}
void affiche(float*p,int M)
{
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<M+1;j++)
{
printf("%f \t",*(p+(M+1)*i+j));
}
printf("\n");
}
}
void pivot(float*p,int M)
{
int i,k,l;
float P,S;
for (i=0;i<=M-1;i++)
{
//normalisation
P=*(p+i+i*(M+1));
for (k=0;k<=M;k++)
{
*(p+k+i*(M+1))=*(p+k+i*(M+1))/P;
}
//annulation
for (l=0;l<=M-1;l++)
{
if(l!=i)
{
S=*(p+i+l*(M+1));
for (k=0;k<=M;k++)
{
*(p+k+l*(M+1))= *(p+k+l*(M+1))-S*(*(p+k+i*(M+1)));
}
}
}
}
}
Programme en matlab :
1 0 0
1
A * A * X A *Y or A * A I 0 1 0 donc X A1 *Y
AX Y 1 1
0 0 1
Programme 1 :
Programme2 :