Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

To resolve issues starting MATLAB on Mac OS X 10.10 (Yosemite) visit: http://www.mathworks.com/matlabcentral/answers/159016

I want to define a square in a matrix

Asked by Kaelyn on 16 Oct 2013
Latest activity Edited by dpb on 16 Oct 2013

I want to define a square located at i=1 to a certain distance down and across. The matrix I have so far is

n=10;
A=zeros(n,n);
  for i=1:n*n
       A(1+i)=i;
  end

My square starts at i=1 and four down and four across I would like to make the other area have a value of 0. I need to change the size of the square when n changes.

1 Comment

Azzi Abdelmalek on 16 Oct 2013

Can you post the expected result

Kaelyn

Products

No products are associated with this question.

1 Answer

Answer by dpb on 16 Oct 2013
Edited by dpb on 16 Oct 2013
Accepted answer
>> n=6;      % overall size
   s=4;      % size of square
   r=1; c=1; % row,column upper left corner
   A=zeros(n);
   A(r:r+s-1,c:c+s-1)=reshape(1:s*s,s,[]);
>> A
A =
   1     5     9    13     0     0
   2     6    10    14     0     0
   3     7    11    15     0     0
   4     8    12    16     0     0
   0     0     0     0     0     0
   0     0     0     0     0     0
>> 

Salt to suit...for your example, r=c=1 of course.

You'll want error-checking, etc., etc., etc., ...

0 Comments

dpb

Contact us