MATLAB에서 작업하는 동안 이러한 오류가 발생하는 경우 이 가이드에 따라 해결 방법을 알아보세요.
MATLAB에서 '행렬 인덱스가 삭제 범위를 벗어났습니다'라는 오류가 발생하는 이유는 무엇입니까?
주어진 행렬이나 주어진 행렬의 특정 수의 행 또는 열에서 하위 행렬을 삭제해야 할 때마다 먼저 행렬 인덱싱을 사용하여 삭제하려는 행렬 요소에 액세스한 다음 이를 [ ] 운영자 . 그러나 행렬 인덱스 경계보다 큰 행 번호나 열 번호를 지정하면 오류가 발생합니다. 매트릭스 인덱스가 삭제 범위를 벗어났습니다. “.
MATLAB에서 '행렬 인덱스가 삭제 범위를 벗어났습니다' 오류를 수정하는 방법
앞서 논의한 것처럼 오류 “ 매트릭스 인덱스가 삭제 범위를 벗어났습니다. '는 지정된 행렬에 없는 행이나 열을 삭제하여 발생했습니다. 따라서 이 오류는 지정된 행렬에 있어야 하는 주어진 행렬의 행이나 열을 삭제하여 해결할 수 있습니다. 이제 먼저 '라는 오류를 생성하겠습니다. 매트릭스 인덱스가 삭제 범위를 벗어났습니다. ” 그런 다음 주어진 예에서 수정하십시오.
예제 1: MATLAB에서 행렬 행을 삭제하는 동안 '행렬 인덱스가 삭제 범위를 벗어났습니다.'를 수정하는 방법은 무엇입니까?
아래 제공된 MATLAB 코드는 10개의 행과 10개의 열이 있는 정사각형 행렬을 생성합니다. 그런 다음 변수 i에 값 5를 할당하여 초기화합니다. 이제 행 번호를 표현식으로 언급하여 주어진 행렬에서 부분 행렬을 삭제합니다. 변수 i의 지정된 값 5에 대해 이 표현식을 평가하면 행 번호 12를 얻습니다. 콜론 연산자(:)는 지정된 행 번호의 모든 열을 삭제하려는 것을 나타냅니다. 그러나 행렬에는 행이 10개뿐이므로 행 번호 12가 범위를 벗어났고 오류 메시지 ' 매트릭스 인덱스가 삭제 범위를 벗어났습니다. “.
A = 마법 ( 10 )
나 = 5 ;
ㅏ ( ( 나 * 삼 ) - 삼 ,: ) = [ ]
이제 행렬에 있는 행 번호를 언급하여 이 오류를 수정할 수 있습니다.
A = 마법 ( 10 )나 = 10 ;
ㅏ ( 1 :나- 삼 ,: ) = [ ]
위 코드에서는 주어진 행렬 A의 처음 7개 행을 삭제합니다.
예제 2: MATLAB의 주어진 행렬에서 부분행렬을 삭제하는 동안 '행렬 인덱스가 삭제 범위를 벗어났습니다.'를 수정하는 방법은 무엇입니까?
이 예에서는 10개의 행과 10개의 열이 있는 정사각 행렬을 만듭니다. 그런 다음 변수 i에 값 5를 할당하여 초기화합니다. 이제 열 번호를 표현식으로 언급하여 주어진 행렬에서 하위 행렬을 삭제합니다. 지정된 변수 i 값 5에 대해 이 표현식을 평가하면 7부터 15까지의 열 번호를 얻습니다. 행렬의 열 수는 10이지만 결과 열 번호 범위는 7부터 15까지입니다. 주어진 행렬에서 오류가 발생합니다. '매트릭스 인덱스가 삭제 범위를 벗어났습니다.' .
A = 마법 ( 10 )나 = 5 ;
ㅏ ( :, 7 :나 * 삼 ) = [ ]
이제 행렬에 있는 열 범위를 언급하여 이 오류를 수정할 수 있습니다.
A = 마법 ( 10 )나 = 5 ;
ㅏ ( :, 7 :나 * 2 ) = [ ]
위 코드에서는 주어진 행렬 A의 마지막 4개 열을 삭제합니다.
결론
MATLAB에서 다양한 행렬 연산을 수행하는 동안 기술적 실수로 인해 오류가 발생합니다. 그러한 오류 중 하나는 “ 매트릭스 인덱스가 삭제 범위를 벗어났습니다. ”는 주어진 행렬에서 지정되지 않은 수의 행과 열을 삭제하여 발생합니다. 이 오류는 주어진 행렬에 있어야 하는 행이나 열을 삭제하여 해결할 수 있습니다. 이 가이드에서는 오류를 생성하는 예와 이를 해결하는 솔루션을 제공했습니다. 이를 이해하면 귀하의 경우에 그러한 오류가 발생할 경우 문제를 해결하는 데 도움이 됩니다.