metode numerice in c
TRANSCRIPT
-
8/13/2019 Metode Numerice in C
1/9
12/7/2011
1
Titus Beu 2011
B BB ,
9.9.
Titus Beu 2011
B
-
8/13/2019 Metode Numerice in C
2/9
12/7/2011
2
Titus Beu 2011
B.. .A. , ( , , 1981).
.A. .. , ( , , 1985).
.. B .. , (, & , B,1985).
.. , .A. , .. B.. , ( , , 1992).
B, . A., , ( , , 2004).
Titus Beu 2011
A:
, x
A = [aij]nn, x = [xi]n Rn
x x=A
A x x =
11 12 1 1 1
21 22 2 2 2
1 2
n
n
n n nn n n
a a a x x
a a a x x
a a a x x
=
A E x( ) 0 =
-
8/13/2019 Metode Numerice in C
3/9
12/7/2011
3
Titus Beu 2011
:
det(A E)
:
: 1, 2, ... n A
= j x(j) ( )
A Edet( ) 0 =
11 12 1
21 22 2
1 2
0
n
n
n n nn
a a a
a a a
a a a
=
Titus Beu 2011
X x(j)
1, 2, ... n
n :
: X A , X1 :
X
(1) (2) ( )1 1 1 1(1) (2) ( )
22 2 2
(1) (2) ( )
0 0
0 0,
0 0
n
n
nnn n n
x x x
x x x
x x x
= =
A X X =
X A X1 =
-
8/13/2019 Metode Numerice in C
4/9
12/7/2011
4
Titus Beu 2011
: A, B MRnn
S MRnn :
: . .
A = X1 A X
:
A:
A
A X.
B S A S1=
Titus Beu 2011
:
:
:
( )
R R R R E R R1orT T T = = =
R A RT =
-
8/13/2019 Metode Numerice in C
5/9
12/7/2011
5
Titus Beu 2011
: 22
:
:
R A
( ):
Rcos sin
sin cos
=
A R A RT =
2 211 11 21 22
2 222 11 21 22
2 221 21 22 11 12
cos 2 sin cos sin
sin 2 sin cos cos
(cos sin ) ( )sin cos
a a a a
a a a a
a a a a a
= + + = + = + =
Titus Beu 2011
A:
:
:
: (1 )
2 22 11
21
cot cot 1 0a a
a
+ =
12
11 22 11 22
21 21
tan 12 2
a a a a
a a
= +
1/2cos (1 tan ) , sin tan cos = + =
x
x
(1)1 11
(2)2 22
cos,
sin
sin,
cos
a
a
= = = =
-
8/13/2019 Metode Numerice in C
6/9
12/7/2011
6
Titus Beu 2011
: nn
:
aij aji:
A i j A
R
1 0
cos sin line
( , )
sin cos line
0 1
column column
i
i j
j
i j
=
A R A R( , ) ( , )T i j i j =
Titus Beu 2011
:
ij:
A A R( , )i j=
1 1 1 1 1 0
cos sin
sin cos
0 1
i j i j
ki kj ki kj
ni nj ni nj
a a a a
a a a a
a a a a
=
cos sin , 1,2,...,
sin coski ki kj
kj ki kj
a a a k n
a a a
= + = = +
-
8/13/2019 Metode Numerice in C
7/9
12/7/2011
7
Titus Beu 2011
:
ij:
A R A( , )T i j =
1 1
11
1 0
cos sin
sin cos
0 1
i ik in i ik in
j jk jnj jk jn
a a a a a a
a a aa a a
=
cos sin , 1,2,...,
sin cos
ik ik jk
jk ik jk
a a a k n
a a a
= + = = +
Titus Beu 2011
A:
A:
:
:
2 2
2 2
2 2
cos sin , 1,2,...,
sin cos , ,
cos 2 sin cos sin
sin 2 sin cos cos
(cos sin ) ( )sin cos
ik k i ik jk
jk kj ik jk
ii ii ji jj
jj ii ji jj
ij ji ji jj ii
a a a a k n
a a a a k i j
a a a a
a a a a
a a a a a
= = + = = = + = + + = +
= = +
2cot cot 1 0jj ii
ji
a a
a
+ =
12
tan 12 2
ii jj ii jj
ji j
a a a a
a a i
= +
1/2cos (1 tan ) , sin tan cos = + =
-
8/13/2019 Metode Numerice in C
8/9
12/7/2011
8
Titus Beu 2011
:
:
:
:
A A A R A R0 1, , 0,1,2,T
l l l l l= = =
X R E X R R R0 0 0 1, , 0,1,2,l l l = =
A A A X A X0 , , 0,1,2,T
l l l l= = =
A X Xlim , liml l
l l = =
Titus Beu 2011
:
:
:
( /4):
X X R1 ( , )l l l i j=
cos sin , 1,2,...,
sin cos
ki ki kj
kj ki kj
x x x k n
x x x
= + = = +
max | |iji j
a
12
tan sign 12 2 2
ii jj ii jj ii jj
ji ji ji
a a a a a a
a a a
= + +
-
8/13/2019 Metode Numerice in C
9/9
12/7/2011
9
Titus Beu 2011
//===========================================================================
int Jacobi(float **a, float **x, float d[], int n)
//---------------------------------------------------------------------------
// Solves the eigenvalue problem of a real symmetric matrix
// a - real symmetric matrix (lower triangle is destroyed)
// x - modal matrix: eigenvectors on columns (output)
// d - vector of eigenvalues
// n - order of matrix a
// Error flag: 0 normal execution
// 1 exceeded max. no. of iterations
//---------------------------------------------------------------------------
{
const float eps = 1e-30; // precision criterion
const int itmax = 50; // max no. of iterations
float aii, aji, ajj, amax, c, s, t;
int i, it, j, k;
for (i=1; i