Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

true

논리값 1(true)로 구성된 공동분산 배열 만들기

    설명

    예제

    X = true(n)은 논리값 1로 구성된 n×n 공동분산 행렬을 만듭니다.

    사용자가 통신 작업 또는 spmd 블록에서 공동분산 배열을 만들면, 함수는 각 워커에 배열을 만듭니다. 사용자가 통신 작업 또는 spmd 블록 외부에서 공동분산 배열을 만들면, 공동분산 배열이 만들어지는 워커 또는 클라이언트에만 배열이 저장됩니다.

    기본적으로 공동분산 배열의 기본 유형은 double입니다.

    X = true(sz1,...,szN)은 논리값 1로 구성된 sz1×...×szN 공동분산 배열을 만듭니다. 여기서 sz1,...,szN은 각 차원의 크기를 나타냅니다.

    X = true(sz)는 논리값 1로 구성된 공동분산 배열을 만듭니다. 여기서 크기 벡터 szX의 크기를 정의합니다. 예를 들어, true(codistributed([2 3]))은 2×3 공동분산 배열을 만듭니다.

    X = true(___,codist)는 codistributor 객체 codist를 사용하여 논리값 1로 구성된 공동분산 배열을 만듭니다. 위에 열거된 구문에 나와 있는 입력 인수를 이 구문과 함께 사용할 수 있습니다.

    codistributor 객체 codist를 사용하여 워커의 메모리에 배열 값의 분포를 지정합니다. codistributor 생성에 대한 자세한 내용은 codistributor1dcodistributor2dbc 항목을 참조하십시오.

    X = true(___,codist,"noCommunication")은 워커 간의 통신을 사용하지 않고 논리값 1로 구성된 공동분산 배열을 만듭니다. codist 또는 codist,"noCommunication"을 지정할 수 있지만 둘 다 지정할 수는 없습니다.

    매우 큰 배열을 생성하는 경우 또는 통신 작업 또는 spmd 블록이 많은 워커를 사용하는 경우 워커 간 통신으로 인해 배열 생성이 느려질 수 있습니다. 워커 간 통신에 필요한 시간을 없앰으로써 코드의 성능을 개선하려면 이 구문을 사용하십시오.

    이 구문을 사용하면 일부 오류 검사 단계를 건너뜁니다. "noCommunication"을 지정하지 않고 코드 프로토타입을 만든 후 코드의 성능을 개선하려면 이 구문을 사용하십시오.

    X = true(___,"like",p)는 배열 p를 사용하여 논리값 1로 구성된 공동분산 배열을 반환합니다. datatype 또는 "like"를 지정할 수 있지만 둘 다 지정할 수는 없습니다.

    반환된 배열 X는 희소성이 p와 동일합니다.

    예제

    모두 축소

    true로 구성된 1000×1000 공동분산 행렬을 만들고 두 번째 차원(열)을 기준으로 분산되도록 합니다.

    spmd(4)
        C = true(1000,'codistributed');
    end

    4개의 워커가 있는 경우 각 워커는 C의 1000×250 국소 조각을 포함합니다.

    true로 구성된 1000×1000 공동분산 행렬을 만들고 열을 기준으로 분산되도록 합니다.

    spmd(4)
        codist = codistributor('1d',2,100*[1:numlabs]);
        C = true(1000,1000,codist);
    end

    각 워커는 C의 100×labindex 국소 조각을 포함합니다.

    입력 인수

    모두 축소

    정사각 행렬의 크기로, codistributed 정수로 지정됩니다.

    • n0이라면 X는 빈 행렬입니다.

    • n이 음수라면 함수는 이를 0으로 처리합니다.

    각 차원의 크기로, codistributed 정수 값의 별도 인수로 지정됩니다.

    • 차원의 크기가 0이라면 X는 빈 배열입니다.

    • 차원의 크기가 음수라면 함수는 이를 0으로 처리합니다.

    • 두 번째 차원을 넘어서면 함수는 크기가 1인 후행 차원을 무시합니다.

    각 차원의 크기로, codistributed 정수 행 벡터로 지정됩니다. 이 벡터의 각 요소는 해당 차원의 크기를 나타냅니다.

    • 차원의 크기가 0이라면 X는 빈 배열입니다.

    • 차원의 크기가 음수라면 함수는 이를 0으로 처리합니다.

    • 두 번째 차원을 넘어서면 true는 크기가 1인 후행 차원을 무시합니다. 예를 들어, true(codistributed([3 1 1 1]))은 논리값 1로 구성된 3×1 공동분산 벡터를 만듭니다.

    예: sz = codistributed([2 3 4])는 2×3×4 공동분산 배열을 만듭니다.

    Codistributor로, codistributor1d 또는 codistributor2dbc 객체로 지정됩니다. codistributor를 만드는 방법에 대한 자세한 내용은 codistributor1dcodistributor2dbc의 도움말 페이지를 참조하십시오. 디폴트 분산 방식을 사용하려면 인수 없이 codistributor 생성자를 지정할 수 있습니다.

    만들려는 배열 프로토타입으로, codistributed 배열로 지정됩니다.

    • true(codistributed(n))logical(ones(codistributed(n)))보다 훨씬 빠르고 메모리 효율적입니다.

    버전 내역

    R2006b에 개발됨