2016-06-04 1 views
1

행렬의 총 행렬 수를 찾으려면 https://taninamdar.files.wordpress.com/2013/11/submatrices3.pdf을 따라야합니다. 주어진 크기의 행렬이 얼마나 많은지 찾아내는 방법을 고집했습니다. 또한 0 < = A < = M 및 0 < = B < = N입니다.
여기서 AxB (서브 매트릭스 크기) 및 MxN (매트릭스 크기).크기 MxN의 행렬에서 크기 AxB의 서브 배열 수

+0

답은'C (X, Y)'가 이항 계수 인 'C (M, A) * C (N, B)'입니다./(Y! (X-Y)!)'이다. – WhatsUp

+0

첫 번째 행렬을 3X3으로 간주하면 크기 2X2의 부분 행렬의 개수는 4가됩니다. 그러나 대답은 9가됩니다. –

+0

분명히 그들은 연속적인 부분 행렬이어야하며, pdf는이를 언급하지 않습니다. – harold

답변

3

나는 pdf (수학과 나는 친구가 아님)를 통과하지는 않았지만 여기서는 간단한 논리로 충분하다. 단순히 치수를 줄이십시오. 길이가 인 벡터에 길이 m의 벡터를 몇 개 넣을 수 있습니까?

응답 : n-m+1. 당신을 설득하기 위해 사건을 검토하십시오. n = 5m = 5라고 말하십시오. 한 가지 가능성이 있습니다. n = 5m = 4으로 두 개가 있습니다 (두 번째 벡터는 인덱스 0 또는 인덱스 1에서 시작합니다). n = 5m = 3을 사용하면 세 개가됩니다 (벡터는 인덱스 0, 1 또는 2에서 시작할 수 있습니다). 그리고 n = 5m = 1의 경우 5가 나오고 논리가 있습니다.

그래서 매트릭스에 적용하려면 치수를 추가해야합니다. 어떻게 그걸합니까? 곱셈. 길이가 n 인 벡터 안에 얼마나 많은 벡터 길이 a을 넣을 수 있습니까? n-a+1. 길이가 b 인 벡터의 수는 길이가 m 인 벡터 안에 들어갈 수 있습니까? m-b+1.

크기가 A*B 인 매트릭스의 수는 N*M입니까? (N-A+1)*(M-B+1).

그래서 치수 중 하나가 0 인 경우를 처리하지 않았습니다.이 사례를 어떻게 고려 하느냐에 따라 다릅니다.

+0

감사합니다. 이제 알았어. –