MATLAB Answers

## I want to define a square in a matrix

Asked by Kaelyn

### Kaelyn (view profile)

on 16 Oct 2013
Latest activity Edited by dpb

### dpb (view profile)

on 16 Oct 2013
Accepted Answer by dpb

### dpb (view profile)

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.

Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

on 16 Oct 2013

Can you post the expected result

Log in to comment.

## 1 Answer

Answer by dpb

on 16 Oct 2013
Edited by dpb

### dpb (view profile)

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

Log in to comment.

### Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today