Main Content

rescale

배열 요소의 범위 스케일링

설명

예제

R = rescale(A)A의 모든 요소를 A의 모든 요소의 최솟값과 최댓값에 따라 구간 [0, 1]로 스케일링합니다. 출력 배열 RA와 크기가 동일합니다.

예제

R = rescale(A,l,u)A의 모든 요소를 구간 [l u]로 스케일링합니다.

예제

R = rescale(___,Name,Value)는 위에 열거된 구문에 나와 있는 입력 인수 조합 외에, 이름-값 인수를 하나 이상 사용하여 옵션을 지정합니다. 예를 들어, rescale(A,"InputMin",5)는 구간 [0, 1]로 스케일링하기 전에 5보다 작은 A의 모든 요소를 5로 설정합니다.

예제

모두 축소

벡터의 요소를 rescale의 디폴트 구간인 단위 구간 [0, 1]로 스케일링합니다. 스케일링 시 분포의 형태는 유지됩니다.

A = 1:5;
R = rescale(A)
R = 1×5

         0    0.2500    0.5000    0.7500    1.0000

하한과 상한을 지정하여 벡터의 요소를 구간 [-1, 1]로 스케일링합니다.

A = 1:5;
R = rescale(A,-1,1)
R = 1×5

   -1.0000   -0.5000         0    0.5000    1.0000

행렬의 각 열을 독립적으로 단위 구간 [0, 1]로 스케일링합니다. 입력 범위의 최솟값을 각 행렬 열의 최소 요소를 포함하는 행 벡터로 지정합니다. 입력 범위의 최댓값을 각 행렬 열의 최대 요소를 포함하는 행 벡터로 지정합니다.

A = [0.4 -4; 0.5 -5; 0.9 9; 0.2 1]
A = 4×2

    0.4000   -4.0000
    0.5000   -5.0000
    0.9000    9.0000
    0.2000    1.0000

colmin = min(A)
colmin = 1×2

    0.2000   -5.0000

colmax = max(A)
colmax = 1×2

    0.9000    9.0000

R = rescale(A,"InputMin",colmin,"InputMax",colmax)
R = 4×2

    0.2857    0.0714
    0.4286    0.0000
    1.0000    1.0000
         0    0.4286

두 번째 열을 구간 [-1, 1]로 스케일링합니다. InputMinInputMax 이름-값 인수와 더불어 다시 스케일링된 데이터의 상한과 하한을 지정합니다.

Rcol = rescale(A,[0 -1],1,"InputMin",colmin,"InputMax",colmax)
Rcol = 4×2

    0.2857   -0.8571
    0.4286   -1.0000
    1.0000    1.0000
         0   -0.1429

입력 벡터의 요소를 범위 [1, 5]로 자른 다음 벡터를 디폴트 구간 [0, 1]로 다시 스케일링합니다. 자르면 모든 요소 값이 지정된 입력 범위로 제한됩니다.

A = [-30 1 2 3 4 5 70];
R = rescale(A,"InputMin",1,"InputMax",5)
R = 1×7

         0         0    0.2500    0.5000    0.7500    1.0000    1.0000

입력 인수

모두 축소

입력 배열로, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다.

  • Asingle형인 경우 출력값도 single형입니다. 그렇지 않은 경우 출력값은 double형입니다.

  • A가 상수인 경우 rescale은 구간의 하한(디폴트 값은 0) 또는 NaN(지정된 구간에 Inf가 포함된 경우)을 반환합니다.

다시 스케일링된 데이터의 하한으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. l은 상한보다 작아야 하며 크기가 입력 배열과 호환되어야 합니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

A의 모든 요소에 대해 같은 하한을 사용하려면 l을 스칼라로 지정하십시오. A의 각 열 또는 행에 대해 서로 다른 하한을 사용하려면 l을 행 벡터 또는 열 벡터로 지정하십시오.

각 열 또는 행에 대해 서로 다른 구간 경계를 설정해도 rescale은 각 열 또는 행에 대해 스케일링된 값을 계산할 때 입력 배열의 모든 값을 고려합니다. 각 열 또는 행을 독립적으로 다시 스케일링하려면 lu를 벡터로 지정하는 것 외에도, InputMinInputMax 이름-값 인수를 벡터로 지정하여 각 열 또는 행의 입력 배열 범위를 설정하십시오.

다시 스케일링된 데이터의 상한으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. u는 하한보다 커야 하며 크기가 입력 배열과 호환되어야 합니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

A의 모든 요소에 대해 같은 상한을 사용하려면 u를 스칼라로 지정하십시오. A의 각 열 또는 행에 대해 서로 다른 상한을 사용하려면 u를 행 벡터 또는 열 벡터로 지정하십시오.

각 열 또는 행에 대해 서로 다른 구간 경계를 설정해도 rescale은 각 열 또는 행에 대해 스케일링된 값을 계산할 때 입력 배열의 모든 값을 고려합니다. 각 열 또는 행을 독립적으로 다시 스케일링하려면 lu를 벡터로 지정하는 것 외에도, InputMinInputMax 이름-값 인수를 벡터로 지정하여 각 열 또는 행의 입력 배열 범위를 설정하십시오.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

예: R = rescale(A,InputMin=5,InputMax=10)

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: R = rescale(A,"InputMin",5,"InputMax",10)

입력 범위의 최솟값으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. InputMin의 디폴트 값은 min(A(:))입니다. InputMin은 크기가 입력 배열과 호환되어야 합니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

입력 배열의 범위를 자르거나 확장하려면 InputMin을 지정하십시오. rescaleA의 최솟값 대신 InputMin을 입력 범위의 최솟값으로 사용합니다. InputMin보다 작은 A의 요소는 스케일링하기 전에 InputMin의 값으로 설정됩니다.

A의 모든 요소에 대해 같은 입력 범위 최솟값을 사용하려면 InputMin을 스칼라로 지정하십시오. A의 열을 독립적으로 스케일링하려면 InputMin을 행 벡터로 지정하십시오. A의 행을 독립적으로 스케일링하려면 InputMin을 열 벡터로 지정하십시오.

예: R = rescale(A,"InputMin",5)

예: R = rescale(A,"InputMin",min(A),"InputMax",max(A))

입력 범위의 최댓값으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. InputMax의 디폴트 값은 max(A(:))입니다. InputMax는 크기가 입력 배열과 호환되어야 합니다. 자세한 내용은 기본 연산에 대해 호환되는 배열 크기 항목을 참조하십시오.

입력 배열의 범위를 자르거나 확장하려면 InputMax를 지정하십시오. rescaleA의 최댓값이 아닌 InputMax를 입력 범위의 최댓값으로 사용합니다. InputMax보다 큰 A의 요소는 스케일링하기 전에 InputMax의 값으로 설정됩니다.

A의 모든 요소에 대해 같은 입력 범위 최댓값을 사용하려면 InputMax를 스칼라로 지정하십시오. A의 열을 독립적으로 스케일링하려면 InputMax를 행 벡터로 지정하십시오. A의 행을 독립적으로 스케일링하려면 InputMax를 열 벡터로 지정하십시오.

예: R = rescale(A,"InputMax",10)

예: R = rescale(A,"InputMin",min(A),"InputMax",max(A))

알고리즘

rescaleA의 값이 InputMinInputMax으로 정의된 범위 내에 있는 경우 R=l+[Ainputmininputmaxinputmin](ul) 수식을 사용하여 입력 배열 A의 요소를 스케일링합니다.

  • lu가 지정되지 않은 경우 rescale은 디폴트 값 0과 1을 각각 사용합니다.

  • InputMin이 지정되지 않은 경우 rescale은 그 값을 디폴트 min(A(:))로 설정합니다.

  • InputMax가 지정되지 않은 경우 rescale은 그 값을 디폴트 max(A(:))로 설정합니다.

확장 기능

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2017b에 개발됨

참고 항목

함수