>  기사  >  배열 인덱스는 양의 정수 또는 논리값이어야 합니다.

배열 인덱스는 양의 정수 또는 논리값이어야 합니다.

(*-*)浩
(*-*)浩원래의
2019-12-11 09:46:3678195검색

배열 인덱스는 양의 정수 또는 논리값이어야 합니다.

MATLAB 배열을 인덱싱할 때 양의 정수나 논리값이 아닌 인덱스 값을 사용하면 이 오류가 발생합니다.报 다음은 이 오류를 일으키는 몇 가지 제안 사항입니다. (권장 학습:
web front-end video tutorial

)

1) 인용 값이 양의 정수인지 주의 깊게 확인하세요. MATLAB의 인덱스는 0이 될 수 없으며 일반적으로 1부터 시작합니다. 2) 논리변수 인덱싱을 사용하는 경우 인덱스 배열 유형이 1과 0으로 구성된 이중 배열이 아닌 논리변수인지 확인하세요. 인덱싱하기 전에 double형 배열을 논리형 배열로 변환할 수도 있습니다.

예:

A = [1 2 3 4; 5 6 7 8];
ind_double = [0 1 0 1; 0 1 0 1];
ind_logical = logical(ind_double);
A(ind_logical)

인덱스 배열의 경우 whos 함수를 통해 데이터 유형을 볼 수 있습니다. 예:

whos ind_double
whos ind_logical
3) 부동 소수점 연산을 사용하여 인덱스 배열을 계산하는 경우 배열 값이 정수 정밀도여야 합니다. 인덱스 값이 정수에 매우 가깝다는 것을 알고 있다면 round 함수를 사용할 수 있습니다. 예:
A = [1 2 3 4; 5 6 7 8];
ind_float = 2.00001;
ind_int = round(ind_float);
A(ind_float)

4) MATLAB 내장 함수와 동일한 이름의 변수가 정의되면 함수는 다음과 같습니다. 덮어쓰면 동일한 오류가 생성됩니다(매개변수 전달 및 배열 인덱스에 동일한 대괄호 사용 함수 호출). 예:

max = rand(5);  
A = rand(5);  
max(A)

이때 다른 변수 이름을 할당하고 충돌하는 변수 이름을 지워야 합니다.

으아악

위 내용은 배열 인덱스는 양의 정수 또는 논리값이어야 합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.