2차원 배열이나 행렬은 여러 응용 분야에서 매우 유용합니다. 행렬에는 행과 열이 있으며 그 안에 숫자를 저장합니다. C++에서는 다차원 배열을 사용하여 2차원 행렬을 정의할 수도 있습니다. 이 기사에서는 C++를 사용하여 주어진 행렬의 Norm과 Trace를 계산하는 방법을 살펴보겠습니다.
Normal은 행렬의 모든 요소 합계의 제곱근입니다. 추적은 주대각선에 존재하는 요소의 합입니다. 알고리즘과 C++ 코드 표현을 살펴보겠습니다.
$begin{bmatrix} 5 & 1 & 8 개행 문자 4 & 3 & 9 개행 문자 2&7&3 끝{bmatrix},$
으아아아위의 예에서는 3 x 3 행렬을 사용했습니다. 여기에서는 모든 요소의 합을 구한 다음 그 제곱근을 구합니다. 더 나은 이해를 위해 알고리즘을 살펴보겠습니다.
$begin{bmatrix} 5 & 1 & 8 개행 문자 4 & 3 & 9 개행 문자 2&7&3 끝{bmatrix},$
으아아아위의 예에서 우리는 3 x 3 행렬을 사용했고 여기에서는 주 대각선에 있는 모든 요소의 합을 얻었습니다. 이 합은 행렬의 자취입니다. 이해를 돕기 위해 알고리즘을 살펴보겠습니다.
노멀과 트레이스는 모두 행렬 연산입니다. 이 두 가지 연산을 수행하려면 정사각형 행렬이 필요합니다(정사각형 추적 행렬이 필요하기 때문입니다). 법선은 단순히 행렬에 있는 모든 요소의 합에 대한 제곱근이고, 추적은 행렬의 주대각선에 있는 요소의 합입니다. 이 행렬은 C++에서 2차원 배열을 사용하여 표현할 수 있습니다. 여기서는 5개의 행과 5개의 열(총 25개 요소)을 가진 행렬의 두 가지 예를 제공합니다. 행렬에 액세스하려면 인덱싱 작업이 포함된 루프 문이 필요합니다. 일반적인 계산의 경우 각 요소를 반복해야 하므로 두 개의 중첩 루프가 필요합니다. 이 프로그램의 복잡도는 O(n2)입니다. 추적의 경우 주대각선만 보면 되므로 행 인덱스와 열 인덱스는 동일합니다. 따라서 for 루프는 하나만 있으면 충분합니다. O(n) 시간에 계산할 수 있습니다.
위 내용은 법선 벡터와 트레이스를 찾는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!