Cody

# Problem 1852. Repeat middle rows and columns of an array

Solution 314711

Submitted on 3 Sep 2013 by James
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
%% A = randi(100,2); assert(isequal(repmatmid(A),A))

r = 2 c = 2 b = 13 64 92 10

2   Pass
%% A = magic(3); B_correct = [8 1 1 6; 3 5 5 7; 3 5 5 7; 4 9 9 2]; assert(isequal(repmatmid(A),B_correct))

r = 3 c = 3 b = 8 1 1 6 3 5 5 7 4 9 9 2

3   Pass
%% A = reshape(1:16,4,4); B_correct = [1 5 5 9 9 13; 2 6 6 10 10 14; 2 6 6 10 10 14; 3 7 7 11 11 15; 3 7 7 11 11 15; 4 8 8 12 12 16]; assert(isequal(repmatmid(A),B_correct))

r = 4 c = 4 b = 1 5 5 9 9 13 2 6 6 10 10 14 3 7 7 11 11 15 4 8 8 12 12 16

4   Pass
%% A = eye(5); B_correct = [1 0 0 0 0 0 0 0; 0 1 1 0 0 0 0 0; 0 1 1 0 0 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 1 1 0 0 0; 0 0 0 0 0 1 1 0; 0 0 0 0 0 1 1 0; 0 0 0 0 0 0 0 1]; assert(isequal(repmatmid(A),B_correct))

r = 5 c = 5 b = 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1

5   Pass
%% A = randi(100,42); B = repmatmid(A); C = diff(B,1,1); D = diff(B,1,2); assert(all(all(C(2:2:end,:)==0))) assert(all(all(D(:,2:2:end)==0)))

r = 42 c = 42 b = Columns 1 through 16 28 71 71 8 8 19 19 5 5 23 23 37 37 6 6 6 55 76 76 6 6 27 27 17 17 18 18 99 99 69 69 74 96 28 28 54 54 15 15 65 65 23 23 4 4 5 5 27 97 68 68 78 78 14 14 74 74 44 44 89 89 8 8 43 16 66 66 94 94 87 87 65 65 32 32 92 92 53 53 55 98 17 17 13 13 58 58 46 46 93 93 80 80 10 10 95 96 12 12 57 57 55 55 55 55 44 44 10 10 82 82 42 49 50 50 47 47 15 15 30 30 19 19 27 27 82 82 99 81 96 96 2 2 86 86 75 75 91 91 34 34 73 73 31 15 35 35 34 34 63 63 19 19 98 98 68 68 15 15 71 43 59 59 17 17 36 36 69 69 44 44 14 14 66 66 67 92 23 23 80 80 52 52 19 19 12 12 73 73 52 52 54 80 76 76 32 32 41 41 37 37 26 26 11 11 98 98 70 96 26 26 53 53 8 8 63 63 41 41 66 66 65 65 67 66 51 51 17 17 24 24 79 79 60 60 50 50 81 81 18 4 70 70 61 61 13 13 9 9 27 27 78 78 46 46 13 85 90 90 27 27 19 19 93 93 61 61 72 72 44 44 100 94 96 96 66 66 24 24 78 78 72 72 91 91 83 83 18 68 55 55 69 69 42 42 49 49 23 23 90 90 9 9 4 76 14 14 75 75 5 5 44 44 12 12 34 34 14 14 57 75 15 15 46 46 91 91 45 45 30 30 70 70 18 18 89 40 26 26 9 9 95 95 31 31 32 32 20 20 40 40 67 66 85 85 23 23 50 50 51 51 43 43 4 4 84 84 20 18 26 26 92 92 49 49 52 52 51 51 75 75 81 81 37 71 82 82 16 16 34 34 82 82 9 9 51 51 7 7 47 4 25 25 83 83 91 91 80 80 27 27 48 48 40 40 99 28 93 93 54 54 37 37 65 65 81 81 91 91 53 53 16 5 35 35 100 100 12 12 38 38 3 3 61 61 42 42 86 10 20 20 8 8 79 79 82 82 93 93 62 62 66 66 65 83 26 26 45 45 39 39 54 54 74 74 86 86 63 63 38 70 62 62 11 11 25 25 36 36 49 49 81 81 30 30 20 32 48 48 97 97 41 41 94 94 58 58 58 58 44 44 43 96 36 36 1 1 10 10 88 88 24 24 19 19 2 2 49 4 84 84 78 78 14 14 56 56 46 46 24 24 99 99 13 44 59 59 82 82 95 95 63 63 97 97 89 89 17 17 59 39 55 55 87 87 96 96 59 59 55 55 3 3 11 11 23 77 92 92 9 9 58 58 21 21 53 53 49 49 38 38 39 80 29 29 40 40 6 6 31 31 24 24 17 17 20 20 59 19 76 76 26 26 24 24 48 48 49 49 98 98 49 49 26 49 76 76 81 81 36 36 24 24 63 63 72 72 34 34 30 45 39 39 44 44 83 83 85 85 68 68 51 51 96 96 62 65 57 57 92 92 2 2 20 20 40 40 48 48 93 93 27 Columns 17 through 32 6 83 83 45 45 25 25 55 55 69 69 68 68 87 87 94 74 99 99 53 53 92 92 65 65 71 71 50 50 49 49 73 27 74 74 46 46 27 27 55 55 45 45 19 19 85 85 74 43 35 35 88 88 77 77 73 73 2 2 50 50 21 21 7 55 59 59 52 52 19 19 53 53 34 34 15 15 56 56 87 95 11 11 95 95 29 29 100 100 43 43 6 6 63 63 94 42 91 91 64 64 10 10 22 22 28 28 86 86 4 4 99 99 88 88 96 96 58 58 11 11 20 20 57 57 62 62 86 31 82 82 25 25 69 69 11 11 83 83 93 93 37 37 79 71 27 27 68 68 55 55 7 7 43 43 70 70 5 5 52 67 60 60 29 29 43 43 41 41 89 89 59 59 49 49 18 54 3 3 68 68 65 65 45 45 40 40 82 82 20 20 40 70 43 43 70 70 65 65 37 37 77 77 88 88 13 13 14 67 32 32 7 7 68 68 77 77 40 40 99 99 21 21 4 18 17 17 26 26 64 64 63 63 81 81 1 1 15 15 94 13 18 18 23 23 95 95 78 78 76 76 87 87 19 19 31 100 43 43 67 67 21 21 94 94 38 38 62 62 5 5 30 18 10 10 85 85 71 71 98 98 22 22 99 99 64 64 34 4 60 60 35 35 24 24 20 20 80 80 53 53 29 29 47 57 48 48 79 79 12 12 14 14 95 95 48 48 54 54 65 89 70 70 68 68 61 61 70 70 33 33 81 81 70 70 3 67 70 70 1 1 46 46 10 10 68 68 23 23 50 50 85 20 64 64 61 61 46 46 53 53 44 44 50 50 54 54 56 37 4 4 39 39 67 67 54 54 84 84 91 91 45 45 86 47 7 7 92 92 78 78 87 87 77 77 58 58 13 13 35 99 32 32 1 1 36 36 49 49 17 17 85 85 50 50 45 16 54 54 47 47 67 67 40 40 87 87 74 74 86 86 6 86 66 66 43 43 42 42 68 68 99 99 59 59 88 88 18 65 41 41 47 47 85 85 75 75 52 52 25 25 28 28 67 38 82 82 78 78 84 84 53 53 89 89 67 67 21 21 34 20 72 72 33 33 26 26 35 35 59 59 9 9 57 57 90 43 97 97 79 79 62 62 15 15 16 16 63 63 65 65 12 49 54 54 48 48 59 59 59 59 20 20 67 67 42 42 99 13 33 33 4 4 55 55 27 27 41 41 73 73 21 21 54 59 11 11 18 18 87 87 5 5 75 75 90 90 95 95 71 23 62 62 73 73 27 27 76 76 83 83 99 99 9 9 100 39 78 78 48 48 32 32 25 25 79 79 77 77 11 11 29 59 43 43 16 16 12 12 45 45 32 32 59 59 15 15 42 26 10 10 35 35 94 94 69 69 54 54 93 93 17 17 47 30 27 27 61 61 65 65 36 36 9 9 59 59 63 63 77 62 16 16 20 20 48 48 74 74 12 12 2 2 58 58 82 27 29 29 74 74 64 64 40 40 14 14 13 13 6 6 11 Columns 33 through 48 94 18 18 9 9 12 12 70 70 90 90 13 13 66 66 74 73 36 36 78 78 65 65 76 76 71 71 3 3 94 94 58 74 6 6 91 91 33 33 44 44 56 56 30 30 17 17 18 7 53 53 54 54 66 66 66 66 19 19 32 32 93 93 96 87 34 34 11 11 75 75 11 11 22 22 66 66 80 80 27 94 18 18 83 83 59 59 94 94 8 8 96 96 58 58 93 99 21 21 34 34 75 75 19 19 92 92 94 94 45 45 23 86 91 91 30 30 24 24 27 27 71 71 46 46 26 26 38 79 68 68 75 75 74 74 80 80 56 56 25 25 76 76 9 52 47 47 2 2 98 98 49 49 32 32 77 77 23 23 65 18 92 92 5 5 87 87 77 77 17 17 76 76 7 7 19 40 11 11 67 67 9 9 40 40 63 63 75 75 77 77 5 14 75 75 61 61 37 37 28 28 99 99 75 75 68 68 73 4 74 74 53 53 37 37 4 4 18 18 11 11 72 72 35 94 57 57 73 73 69 69 68 68 26 26 69 69 65 65 67 31 19 19 71 71 60 60 43 43 40 40 47 47 42 42 39 30 60 60 79 79 79 79 46 46 8 8 22 22 40 40 63 34 30 30 29 29 37 37 61 61 69 69 10 10 82 82 3 47 ...