Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- A = [1 2;
- 3 4];
- B = [5 6;
- 7 8];
- C = [A B;
- B A];
- %so that:
- C = [1 2 5 6;
- 3 4 7 8;
- 5 6 1 2;
- 7 8 3 4];
- C = [A B A;
- B A B;
- A B A];
- C = [A B A B;
- B A B A;
- A B A B;
- B A B A];
- function [C] = matrices(x)
- A = [1 2; 3 4];
- B = [5 6; 7 8];
- %Determine size N of matrix.
- N = size(A,1);
- %Assign passed argument to M.
- M = x;
- %mod operator to determine odd or even M.
- if(~mod(M,2))
- %concatenate A and B and repeat matrix
- C = repmat([cat(2,[A B]);cat(2,[B A])],M/2);
- else
- %concatenate A and B and repeat matrix
- C = repmat([cat(2,[A B]);cat(2,[B A])],(M+1)/2);
- %remove additional rows and columns created by matrix repetition
- C = C(:,1:end-N);
- C = C(1:end-N,:);
- end
- end
- D = [1 2 5 6
- 3 4 7 8
- 5 6 1 2
- 7 8 3 4]
- D = [1 2 5 6 1 2
- 3 4 7 8 3 4
- 5 6 1 2 5 6
- 7 8 3 4 7 8
- 1 2 5 6 1 2
- 3 4 7 8 3 4]
- D = [1 2 5 6 1 2 5 6
- 3 4 7 8 3 4 7 8
- 5 6 1 2 5 6 1 2
- 7 8 3 4 7 8 3 4
- 1 2 5 6 1 2 5 6
- 3 4 7 8 3 4 7 8
- 5 6 1 2 5 6 1 2
- 7 8 3 4 7 8 3 4]
Add Comment
Please, Sign In to add comment