.


:




:

































 

 

 

 


.

1,2500

-2,5000

1,2500

-0,7500

1,0000

0,0000

0,0000

0,0000

0,7500

2,5000

3,7500

-0,2500

0,0000

1,0000

0,0000

0,0000

6,0000

2,0000

7,0000

0,0000

0,0000

0,0000

1,0000

 

2. A 12: H 12 A 7: H 7:

A 12: H 12, =A7:H7 Ctrl Shift, Enter (Ctrl + Shift + Enter).

B 13 =B8/$B8; B 13 H 13.

B 14 =B9-B$13*$B9; B 14 H 14.

B 14: H 14 H 15.

A 12: H 15 :

 

1,0000

1,2500

0,5000

0,2500

0,2500

0,0000

0

0

0,0000

1,0000

-2,0000

1,0000

-0,6000

0,8000

0,0000

0,0000

 

0,0000

4,0000

3,0000

0,2000

-0,6000

1,0000

0,0000

 

0,0000

14,0000

1,0000

3,6000

-4,8000

0,0000

1,0000

 

3. A 12: H 15 A 17: H 18, A 12: H 15, =A12:H13 Ctrl Shift , Enter.

C 19 =C14/$C14; C 19 H 19.

C 20 =C15-C$19*$C15, C 20 H 20. A 17: H 20 :

 

1,0000

1,2500

0,5000

0,2500

0,2500

0,0000

0

0

0,0000

1,0000

-2,0000

1,0000

-0,6000

0,8000

0

0

 

 

1,0000

0,7500

0,0500

-0,1500

0,2500

0,0000

 

 

0,0000

-9,5000

2,9000

-2,7000

-3,5000

1,0000

 

4. . A 22: H 25 , .

A 22: H 24 =A17:H19 , Ctrl Shift, Enter. D 25 =D20/$D20, D 25 H 25. A 22: H 25 :

 

1,0000

1,2500

0,5000

0,2500

0,2500

0,0000

0

0

0,0000

1,0000

-2,0000

1,0000

-0,6000

0,8000

0

0

0,0000

0,0000

1,0000

0,7500

0,0500

-0,1500

0,25

0

 

 

 

1,0000

-0,3053

0,2842

0,3684

-0,1053

 

.

5. A 30: H 30, =A25:H25 Ctrl + Shift + Enter. D 29 =D24-D$25*$D24, D 29 H 29. D 29 A 29. A 29: H 29 27.

6. A 34: H 35, =A29:H30 Ctrl + Shift + Enter. C 33 =C28-C$34*$C28, C 33 H 33. C 33 A 33. A 33: H 33 32.

7. A 38: H 40, =A33:H35 Ctrl + Shift + Enter. B 37 =B32-B$38*$B32, B 37 H 37. B 37 A 37.

A 37: D 40 , E 37: H 40 :

 

 

A

B

C

D

E

F

G

H

37

1

0

0

0

-0,14211

0,373684

0,447368

-0,34211

38

0

1

0

0

0,263158

-0,21053

-0,42105

0,263158

39

0

0

1

0

0,278947

-0,36316

-0,02632

0,078947

40

0

0

0

1

-0,30526

0,284211

0,368421

-0,10526

 

A 43: D 46, =(A2:D5;E37:H40) Ctrl + Shift + Enter. .

C ++ .

 

#include <except.h>

#include <iostream.h>

long double detA(long double **a, const int n);

int main(){

long double **a; long double dA; int i,j,n;

cout <<" input n = "; cin >> n;

try {

a= new long double*[n]; for(i=0;i<n;i++) a[i]=new long double[n];

}

catch (xalloc){cout <<"\nCould not allocate\n"; exit(-1);}

cout <<"\n input matrix a \n";

for (i=0; i<n; i++)for (j=0; j<n; j++)cin >> a[i][j];

dA = detA(a, n);

cout << "\n matrix a: ";

for (i=0; i<n; i++){cout << "\n"; for (j=0; j<n; j++) cout <<" "<< a[i][j];}

cout << "\n determinant A = "; cout << dA;

cout << "\n Press Key and Enter to continue";

cin >> i; // for pause

for(i=0;i<n;i++)delete[] a[i];

delete a;

return 0;

}//end main

long double detA(long double **a, const int n){

long double **aa;

int i, k, m, im; long double amm, aim, r,d;

try {aa= new long double*[n];

for(i=0;i<n;i++) aa[i]=new long double[n]; }

catch (xalloc){cout <<"\nCould not allocate\n"; exit(-1);}

for (i = 0; i <= n-1; i++)

for (k = 0; k <= n-1; k++) aa[i][k] = a[i][k];

d = 1;

for (m = 0; m <= n-2; m++) {// m

amm = aa[m][m]; im = m;

for (i = m; i <= n-1; i++)

if(aa[i][m] > amm){amm = aa[i][m]; im = i; } d = d*amm;

if(im!= m)d = - d;

cout <<"\n amm = "<<amm;

if(im!= m)for (k = m; k <= n-1; k++)

{r = aa[im][k]; aa[im][k] = aa[m][k]; aa[m][k] = r;}

for (k = m; k <= n-1; k++)aa[m][k] = aa[m][k]/amm; // 3.16

for (i = m + 1; i <= n-1; i++){// i

aim = aa[i][m];

for (k = m; k <= n-1; k++)

aa[i][k] = aa[i][k] - aa[m][k]*aim; // 3.17

}// end i

}// end m

d = d* aa[n-1][n-1]; cout <<"\n amm = "<< aa[n-1][n-1];

for(i=0;i<n;i++)delete[] aa[i];

delete aa;

return d;

}// end detA

 

, a [][], - detA() aa [][]. , .

:

 

input n = 4

input matrix a

4 5 2 1 3 5 -1 2 1 2 3 4 0 6 2 7 [ ]

amm = 4

amm = 6

amm = 2.25

amm = 3.51852

matrix a:

4 5 2 1

3 5 -1 2

1 2 3 4

0 6 2 7

Determinant A = 190

Press key and Enter to continue

 

:

 

#include <except.h>

#include <iostream.h>

int Matr_inv(long double **a, long double **a1, const int n);

int main(){

long double **a; long double **ainv; int i,j,n;

cout <<" input n = "; cin >> n;

try {

ainv= new long double*[n]; for(i=0;i<n;i++) ainv[i]=new long double[n];

}

catch (xalloc){cout <<"\nCould not allocate\n"; exit(-1);}

try {

a= new long double*[n]; for(i=0;i<n;i++) a[i]=new long double[n];

}

catch (xalloc){cout <<"\nCould not allocate\n"; exit(-1);}

cout <<"\n input matrix a \n";

for (i=0; i<n; i++)for (j=0; j<n; j++)cin >> a[i][j];

cout << "\n matrix a: ";

for (i=0; i<n; i++){cout << "\n";

for (j=0; j<n; j++) cout <<" "<< a[i][j];}

Matr_inv(a, ainv, n);

cout << "\n ------------------- matr a: ";

for (i=0; i<n; i++){cout << "\n";

for (j=0; j<n; j++) cout <<" "<< a[i][j];}

cout << "\n -------------------- inv matr ainv: ";

for (i=0; i<n; i++){cout << "\n";

for (j=0; j<n; j++) cout <<" "<< ainv[i][j];}

cout << "\n Press Key and Enter to continue";

cin >> i; // for pause

for(i=0;i<n;i++)delete[] a[i];

delete a;

for(i=0;i<n;i++)delete[] ainv[i];

delete ainv;

return 0;

}//end main

int Matr_inv(long double **a, long double **a1, const int n){

int i, k, m, im; long double amm, aim, r;

for (i = 0; i <= n-1; i++)

for (k = 0; k <= n-1; k++){

if(i==k)a1[i][k] = 1; else a1[i][k] = 0;}

// 1.

for (m = 0; m <= n-2; m++) {// m

amm = a[m][m]; im = m;

for (i = m; i <= n-1; i++)

if(a[i][m] > amm){amm = a[i][m]; im = i; }

if(im!= m){

for (k = m; k <= n-1; k++){

r = a[im][k]; a[im][k] = a[m][k]; a[m][k] = r;}

for (k = 0; k <= n-1; k++){

r = a1[im][k]; a1[im][k] = a1[m][k]; a1[m][k] = r;}

}

for (k = m; k <= n-1; k++)a[m][k] = a[m][k]/amm;

for (k = 0; k <= n-1; k++) a1[m][k] = a1[m][k]/amm;

for (i = m + 1; i <= n-1; i++){// i

aim = a[i][m];

for (k = m; k <= n-1; k++)a[i][k] = a[i][k] - a[m][k]*aim;

for (k = 0; k <= n-1; k++)a1[i][k] = a1[i][k] - a1[m][k]*aim;

}// end i

}// end m

// 2.

amm = a[n-1][n-1]; a[n-1][n-1] = 1;

for (k = 0; k <= n-1; k++) a1[n-1][k] = a1[n-1][k]/amm;

for (m = n-1; m >= 0; m--){

for (i = m-1; i >= 0; i--){// i

aim = a[i][m]; a[i][m] = 0;

for (k = 0; k <= n-1; k++)a1[i][k] = a1[i][k] - a1[m][k]*aim;

}// end i

}// end m

return 0;

}// end Matr_inv

 

Matr_inv(a, a1, n) . a , a 1 . 3.8:

 

input n = 4

input matrix a

4 5 2 1 3 5 -1 2 1 2 3 4 0 6 2 7 [ ]

matrix a

4 5 2 1

3 5 -1 2

1 2 3 4

0 6 2 7

---------------------------- matr a

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 0

---------------------------- inv matr ainv

-0,142105 0,373684 0,447368 -0,342105

0,263158 -0,210526 -0,421053 0,263158

0,278947 -0,363158 -0,0263158 0,0789474

-0,305263 0,284211 0,368421 -0,105263

Press Key and Enter to continue

 

, , Excel .

.

A . A 1 .

 

1. . 2. .

 

3. . 4. .

 

5. . 6. .

 

7. . 8. .

 

9. . 10. .

11. . 12. .

 

13. . 14. .

 

15. , 16.

 

17. . 18. .

 

19. . 20. .

 



<== | ==>
| 3
:


: 2018-10-14; !; : 247 |


:

:

, , .
==> ...

1000 - | 767 -


© 2015-2024 lektsii.org - -

: 0.099 .