한 번에 여러 열의 데이터 초기화여러 열의 데이터를 동일한 방식으로 한 번에 초기화하고 싶습니다.예를 들어, N개의 행을 통해 무작위 정규 데이터(평균 = x, 표준 편차 = y)로 M개의 열을 생성하려고 합니다.도움을 주시면 감사하겠습니다.감사해요.
품질 및 프로세스 엔지니어링Re: 한 번에 여러 열의 데이터를 초기화합니다.추가 시간은 어쨌든 수행되어야 하는 실제 곱셈이 아닌 x 및 y 값을 999,999회 추가로 검색하는 데 소요됩니다. x,y 대신 숫자를 사용할 수 있으며 숫자는 네임스페이스에서 조회 없이 평가되므로 시간 사이를 얻을 수 있습니다. 아래의 기본 사례에는 설명된 3/4에 가까운 답을 얻을 가능성이 있는 곱셈과 덧셈이 포함되어 있지 않습니다.
q=j(size,size,randomnormal()); // 1.0
q=j(size,size,randomnormal(0,1)); // 1.1
q=j(size,size,randomnormal(x,y)); // 1.4
Re: 한 번에 여러 열의 데이터를 초기화합니다.재미있는 점은 다음과 같습니다.
이용하면 조금 시간을 절약할 수 있습니다.
y * J ( M, N, 무작위정규 () ) + x
대신에
J( M, N, 랜덤정규(x, y) ).
그 이유는 J 함수가 실제로는 루프이기 때문입니다...따라서 J( M, N, Randomnormal (x, y) ) 예에서는 루프를 통과할 때마다 표준 무작위 법선이 선택되고 y를 곱한 다음 x에 추가되어 무작위 N(x, y)를 생성합니다.
y * J ( M, N, randomNormal () ) + x 예제에서는 모든 표준 무작위 법선이 생성된 후 전체 행렬에 y를 곱하고 차원적으로 유사한 x 행렬에 추가합니다.
큰 차이는 아니지만 제가 조사한 1000x1000 행렬에서 두 번째 접근 방식은 첫 번째 접근 방식의 약 3/4 시간에 실행되었습니다.
Re: 한 번에 여러 열의 데이터를 초기화합니다.Mark가 제공한 내용에 추가: Random Normal( )은 인수 없이 또는 2개의 인수와 함께 사용할 수 있습니다.
인수가 없으면 N(평균 == 0, stddev == 1) 데이터를 얻습니다. 따라서 Mark의 코드는 N(0,1) 데이터의 MxN 테이블을 제공합니다.
인수를 사용하면 Random Normal( x, y )은 N( 평균 == x, stddev == y) 데이터를 제공합니다.
게시물에 x의 평균과 y의 표준 편차가 언급되어 있으므로 x가 0이 아니거나 y가 1이 아닌 경우 다음을 사용할 수 있습니다.
As Table ( J ( N, M, Random Normal ( x, y ) );
Re: 한 번에 여러 열의 데이터를 초기화합니다.제공된 제한된 정보를 기반으로 이 스크립트는 개념을 증명합니다.
Names Default to Here( 1 );
M = 10;
N = 30;
data = J( N, M, Random Normal() );
As Table( data );