MATLAB Answers

Assign letters as matrices; inputs

13 views (last 30 days)
Patricia  Bracer
Patricia Bracer on 10 Nov 2015
Answered: Joachim Schlosser on 10 Nov 2015
I try to write a function that takes as its input argument a scalar integer and returns Q, a 2n-by-2n matrix. Q consists of four n-by-n submatrices. The elements of the submatrix in the top left corner are all 1s, the elements of the submatrix at the top right are 2s, the elements in the bottom left are 3s, and the elements in the bottom right are 4s. My main problem is that I do not know how to assign 's' in the matrix. Any help will be appreciated
function Q = quadrants( n )
M=zeros(2*n)
s = sym('s')
for i=1:n
for j=1:n
M(i,j)=s
end
end
for i=1:3
for j=(n+1): end
M(i,j)=2*s
end
end
for i=(n+1):2*n
for j=1:n
M(i,j)=3*s
end
end
for i=(n+1):2*n
for j=(n+1):2*n
end
end
end

  3 Comments

Thorsten
Thorsten on 10 Nov 2015
You can create a numerical matrix without for loops using
O = ones(n);
Q = [O 2*O; 3*O 4*O]
dpb
dpb on 10 Nov 2015
Why not move this to Answer so OP can accept it?
Guillaume
Guillaume on 10 Nov 2015
Possibly because the OP question is about symbolic variables.

Sign in to comment.

Answers (1)

Joachim Schlosser
Joachim Schlosser on 10 Nov 2015
You need to create the matrix as a symbolic matrix:
M=sym('s',[n,n])

  0 Comments

Sign in to comment.

Tags


Translated by