CATEGORII DOCUMENTE |
Astronomie | Biofizica | Biologie | Botanica | Carti | Chimie | Copii |
Educatie civica | Fabule ghicitori | Fizica | Gramatica | Joc | Literatura romana | Logica |
Matematica | Poezii | Psihologie psihiatrie | Sociologie |
Fie D(λ) = det (λE - A) =
care difera printr-un semn de polinomul caracteristic.
Matricea A anuleaza polinomul caracteristic si prin urmare avem:
(3.6)
Fie y(0) un vector nenul oarecare
Inmultim (3.6) prin y(0) si obtinem:
Notam:
(3.7)
Deci avem:
sau
sau
cu .
Facand calculele obtinem sistemul:
(3.8)
Daca sistemul (3.8) este compatibil determinat, prin rezolvarea lui se obtine p1, p2, ., pn.
Observatie 3.2.1 Din formulele (3.7) rezulta
(3.9)
ceea ce simplifica simtitor calculul.
Exemplu 3.2.1 Determinati prin metoda Krilov polinomul caracteristic al matricei
Alegem:
Din formulele (3.7) si (3.9) de recurenta avem:
sau
Vom calcula cu al doilea rand de formule. Avem:
Formam sistemul matricial:
sau
Rezulta, in urma rezolvarii sistemului:
Deci
Programul pentru metoda Krilov
Programul prezentat determina sistemul care are printre solutii coeficientii polinomului caracteristic si, in cazul in care acesta este compatibil determinat, ii determina.
Vectorul y(0) este momorat in coloana n a matricii sistemului generat si este ales astfel:
Matricea extinsa a sistemului generat este afisata. In continuare, daca sistemul este compatibil determinat, este rezolvat folosind metoda eliminarii a lui Gauss.
Datele de intrare sunt: dimensiunea si elementele matricii.
# include <math .h>
# include <conio .h>
# include <iostream .h>
int n, i, j, k, p, t;
double a[10][10], b[10][11], x[10], s, max;
void main (void)
for( i = 1; i <= n; i++)
b[i][n] = i;
for( j = n-1; j > 0; j--)
for( i = 1; i <= n; i++)
for( i = 1; i <= n; i++)
for( i = 1; i <= n; i++)
k = 1;
t = 0;
do
if (max = = 0)
t = 1;
else
for( i = k+1; i <= n; i++)
for( j = k+1; j <= n+1; j++)
b[i][j] - = b[i][k]*b[k][j] / b[k][k];
k++;}}
while ( (k<n)&&(t = = 0));
if ( ( t = = 1) | | (b[n][n] = = 0.0) )
cout<<"Sistemul nu este compatibil determinat!"<<endl;
else
cout<<"Coeficientii polinomului caracteristic:"<<endl;
for( i = 1; i <= n; i++)
cout<<"p"<<i<<" = "<<x[i]<<endl;
}
getch ( );
}
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 2838
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved