기금넷 공식사이트 - 복권 조회 - 수학 모형 연산의 계산 행렬의 최대 고유치와 그에 상응하는 정규화 피쳐 벡터가 급하다 ~ MATLAB 으로 프로그래밍 프로세스를 계산하려면 답이 필요하다.
수학 모형 연산의 계산 행렬의 최대 고유치와 그에 상응하는 정규화 피쳐 벡터가 급하다 ~ MATLAB 으로 프로그래밍 프로세스를 계산하려면 답이 필요하다.
A = [121/4 41/2; 1/211/5 31/3; 4 5 1 7 3; 1/41/31/711/5; 2 3 1/3 5 1];
[V, D]=eigs(A)
결과:
V =
0.2532-0.1274-0.1409i-0.1274+0./kloc-;
0.1608-0.1373+0.0246i-0.1373-0.0246i 0.2097-;
0.8616 0.9116 0.9116 0.744/kloc-
0.0774 0.0024+0.0881I 0.0024-0.0881I-0.0832+0.0314i-
0.4020 0.0918-0.3118i 0.0918+0.3/kloc-;
D =
5. 1374 0 0 0 0 0
0 0.0088-0.8328i 0 0 0
0 0 0.0088+0.8328i 0 0
0 0 0 0 -0.0775-0.0956i 0
0 0 0 0 0 -0.0775+0.0956i
따라서 최대 피쳐 값은 5. 1374 이고 해당 피쳐 벡터는 [0.25320.16080.8160.0774 0.4020]' 입니다.
그럼 난 당신에 게 매우 전문적인 수치 알고리즘 "전력 방법", 이는 특별히 행렬의 최대 고유치를 계산 하는 데 사용 되는 고전적인 알고리즘을 제공 합니다. 우리 대학의 수치 분석 교수는 이 알고리즘과 그 원리를 설명하는 반 과목을 보냈다. 전력 방법은 확실히 전문적인 해결책입니다! "전력 법" 의 알고리즘 과정은 실제로 매우 간단합니다. 즉, 벡터를 가져 와서 A 를 계속 곱하면 결국 최대 고유치에 해당하는 고유 벡터에 점차적으로 접근 할 것입니다. 행렬에 고유한 최대 피쳐 값이 있는 경우 "전력 방법" 반복은 선형 대수학의 행렬 유사성 원리로 증명할 수 있을 만큼 여러 번 수렴할 수 있습니다.
이 코드를 100 회 반복하고 임의 벡터 [1 0 0 0]' 를 초기 값으로 사용했습니다 (일반적으로 무작위 벡터이지만 큰 차이는 없음). 제곱법은 행렬 순서가 높은 경우 (5 차원 매트릭스는 속도의 차이를 볼 수 없음) 내장 알고리즘보다 훨씬 빠릅니다!
A = [121/4 41/2; 1/211/5 31/3; 4 5 1 7 3; 1/41/31/711/5; 2 3 1/3 5 1];
V = [10 0 0]';
I = 1: 100 이기 때문입니다
V = A * v
V = v/sqrt (합계 (v.2));
끝
Lamda=sqrt(sum((A*v)) 입니다. 2))/sqrt (합계 (v.2))
V
결과:
람다 =
5. 1374
V =
0.2532
0. 1608
0.86 16
0.0774
0.4020
최대 피쳐 값은 5. 1374 이고 해당 피쳐 벡터 [0.25320.16080.8160.0774 0.4020]' 입니다.
100 회 반복 후' 전력 방법' 과 직접 알고리즘의 결과는 정확히 동일하다는 것을 알 수 있습니다! "전력 방법" 을 사용하여 알고리즘 아이디어를 매우 명확하게 만듭니다. 내장된 eigs 함수와는 달리, 당신은 Matlab 으로 계산하지 않겠죠?