기금넷 공식사이트 - 복권 조회 - 수학 모형 연산의 계산 행렬의 최대 고유치와 그에 상응하는 정규화 피쳐 벡터가 급하다 ~ MATLAB 으로 프로그래밍 프로세스를 계산하려면 답이 필요하다.

수학 모형 연산의 계산 행렬의 최대 고유치와 그에 상응하는 정규화 피쳐 벡터가 급하다 ~ MATLAB 으로 프로그래밍 프로세스를 계산하려면 답이 필요하다.

먼저 흙은 Matlab 에 내장된 알고리즘으로 모든 피쳐 값과 피쳐 벡터를 계산할 수 있습니다 (기술적 함량도 없고 생각도 없고 순전히 엔지니어링상의 응용일 뿐입니다). (데이비드 아셀, Northern Exposure (미국 TV 드라마), 예술명언)

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 으로 계산하지 않겠죠?