2017-09-28 1 views
0

의 매트릭스 배열에서 첫 번째 값의 평균을 얻는 방법 :I와 같은 배열의 정방 행렬이 있으면 matlab에

[1,2], [2,3]

[5

1.5

3

: 9], [1,4]

그리고는 각 행의 배열의 첫 번째 값의 평균을 얻으려면

이것이 Matlab에서 가능합니까? 단일 값 행렬을 사용하여 mean (matrix, 2) 명령을 사용했지만이 배열을 처리하는 방법을 잘 모르겠습니다.

+5

당신의 행렬은 그 값이 조각의 역할과 3D 매트릭스인가? 귀하의 표기법이 혼란 스럽습니다. 실제 MATLAB 구문을 사용하여 매트릭스를 표현하십시오. – rayryeng

답변

0

평균 함수 내에서 평균 함수를 적용하여 인덱스 1의 2D 배열의 총 평균값을 구할 수 있습니다. 인덱스 2의 배열을 사용하여 similary를 수행 할 수 있습니다. 다음 스냅 샷을 고려하십시오.

+5

스냅 샷이 아닌 실제 텍스트를 갖는 것이 더 유용합니다. – rayryeng

+2

그게 그가 원하는 결과가 아니에요 – Adiel

1

행렬의 모든 배열의 첫 번째 요소를 가져, 어쩌면 당신이 오랫동안 문제를 응시 한 후 호출하기 전에 mean

a = matrix(:,:,1); 
mean(a(:)) 
+0

이것은 더 나은 질문에 대한 답변이지만, 이것은 모두 추측입니다. 우리는 매트릭스의 실제 모양이나 포맷에 대한 통찰력이 없기 때문에, OP가 자신의 질문을 편집하기로 결정했을 때이 답변이 정확하지 않을 수 있습니다. – rayryeng

0

을 바꿀 필요가 기능 mean

mean(matrix(:,:,1)) 

전화 여러분의 입력이 3D 행렬 인 것처럼 보입니다. 형식화의 각 행은 2D 행렬 슬라이스에 해당합니다. 따라서, 적절한 MATLAB 문법으로, 당신의 매트릭스는 실제로 :

M = cat(3, [1,2; 2,3], [5,9; 1,4]); 

우리는 따라서 얻을 :

>> M = cat(3, [1,2; 2,3], [5,9; 1,4]) 

M(:,:,1) = 

    1  2 
    2  3 


M(:,:,2) = 

    5  9 
    1  4 

첫 번째 조각은 매트릭스 [1,2; 2,3]이고 두 번째 조각은 [5,9; 1,4]입니다. 그 모양은 모든 슬라이스의 첫 번째 열의 평균을 원하고 값의 단일 벡터로 반환합니다. 따라서 mean 함수를 사용하고 모든 행과 조각의 첫 번째 열에 색인을 지정하십시오. 불행히도 싱글 톤 3D 배열이되므로 싱글 톤 차원을 짜내야합니다. 속히

:

O = squeeze(mean(M(:,1,:))) 

우리 것을 얻을 :

>> O = squeeze(mean(M(:,1,:))) 

O = 

    1.5000 
    3.0000 
관련 문제