I want to define a square in a matrix

1 次查看(过去 30 天)
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.

采纳的回答

dpb
dpb 2013-10-16
编辑:dpb 2013-10-16
>> 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 个)

类别

Help CenterFile Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by