2012-05-04 4 views
2

하나의 간단한 질문 .. Matlab의 매트릭스 종류 : "W = ones (1 : numEntries);"?

우리가 변수가 이제 매트랩 가정하자 : NumEntries를 = 8

내가 아는 "사람", "하나의 매트릭스"를 만드는 데 사용하지만, 다음의 결과는 무엇입니까?

W = ones(1:numEntries); 

가능한 경우 Matlab에서 매트릭스에 대한 좋은 참조를 찾을 수 있습니까? 나는 공식적인 문서를 보았지만 나에게 그렇게 명확하지 않다.

당신에게 그것은이 N-D ( N 차원) 배열 N = numEntries

+0

matlab에 공식 자습서, matlab에 학습을 시작하기에 아주 좋은 장소입니다. 어떤면에서 문제가 있습니까? –

+0

예를 들면 위의 질문. 또한 나는 sintaxes를 이해할 수 없다 : [~, inputDim] = size (entradas); – dragonmnl

+0

@dragonmnl 답변을 얻게되어 기쁩니다.하지만이 명령을 시도하고 결과를 조사하는 것을 막는 것은 무엇입니까? MATLAB 설치/라이센스 문제가있는 경우 옥타브는 무료입니다. –

답변

3

ones은 1의 매트릭스를 생성합니다. ones은 임의의 수의 차원에서 작동하지만 단 하나의 인수 만 지정하면 그 크기의 정사각형 행렬을 얻게됩니다. 그렇지 않은 경우 N 1 차원 행렬이 표시되고 Nones에 제공하는 인수의 수입니다.

numEntries이 8 일 경우 1:numEntries1 2 3 4 5 6 7 8 인 1x8 벡터를 만듭니다. 이 벡터는 ones의 입력으로 주어지며 1 차원 (세로) 크기가 1, 2 차원 크기 (가로)가 2, 3 차원 크기 3, 등, 8 차원까지, 즉 각 W의 사이즈의 크기 확인 8.

numEntries = 8; 

W = ones(1:numEntries); 

퍼센트의 크기를 갖는다 : 엘리먼트의 총 수를 계산하는

size(W) 

ans = 
1  2  3  4  5  6  7  8 

%을 W :

prod(size(W)) 

ans = 
    40320 

퍼센트 편집 :numel(W)prod(size(W))보다 빠른, W에 요소의 수를 얻을 : 등

numel(W) 

ans = 
    40320 
+0

답에 감사드립니다. 나는 그것이하는 것을 이해한다.. 그러나 나는 약간 혼란 스럽다. 예를 들면 다음과 같습니다. W = ones (1 : 3) .. 결과는 무엇입니까? – dragonmnl

+0

3 개 이상의 공간 차원을 시각화 할 수있는 경우가 아니면 공간 차원을 생각하면 도움이되지 않습니다. 3 차원의 경우에도 MATLAB에는 1 차원 및 2 차원에 대한 공간 방향이 없기 때문에 "방향"을 결정하는 것은 사용자의 몫입니다. 매트릭스의 어떤 차원이 저장, 측정 또는 계산중인 차원을 참조하는지 알아야합니다. 같은 크기의 일부 매트릭스를 만들고 'cat'을 사용하여 3 차원 이상으로 결합하는 것이 도움이 될 수 있습니다. [cat documentation의 마지막 예제] (http://www.mathworks.com/help/techdoc/ref/cat)를 확인하십시오.html) – nrz

+0

대단히 고맙습니다. (크기 (W)) – dragonmnl

1

대단히 감사합니다.

더 구체적으로는 크기가 모두 1 x 2 x ... x N 인 N-D 어레이입니다.