Clear Filters
Clear Filters

How to make this complicated array

1 view (last 30 days)
Brandon M
Brandon M on 7 Oct 2016
Edited: Thorsten on 7 Oct 2016
I have attached the picture below. Anyone can tell me how to make that array? I want the middle part if possible just all zeros. If possible, I would like to use the x and y to make that array
  2 Comments
Jan
Jan on 7 Oct 2016
This sounds like a homework question. So please post, what you have tried so far and ask a specific question.
Andrei Bobrov
Andrei Bobrov on 7 Oct 2016
Hi Jan!
Most likely this is the Cody.

Sign in to comment.

Answers (3)

dbmn
dbmn on 7 Oct 2016
x=5;
y=8;
a=(1:2*x+2*y-2);
A=zeros(5,8);
A(:,1) = a(:, 1:x)';
A(end,2:end) = a(:, x+1:x+y-1);
A(end-1:-1:2,end) = a(:, x+y:2*x+y-3)';
A(1,end:-1:2) = a(:, 2*x+y-2:end-2);

Andrei Bobrov
Andrei Bobrov on 7 Oct 2016
Edited: Andrei Bobrov on 7 Oct 2016
x=5;
y=8;
n = 1:(x+y-2);
a = zeros(x,y);
a([1:x,2*x:x:x*y-x]) = n;
out = a + rot90((a + n(end)).*(a > 0),2);

Thorsten
Thorsten on 7 Oct 2016
Edited: Thorsten on 7 Oct 2016
x = 5; y = 8;
a(x,y) = 0;
a([1:x 2*x:x:y*x y*x-1:-1:x*(y-1)+1 x*(y-2)+1:-x:x+1]) = 1:2*x+2*(y-2);

Categories

Find more on Data Type Identification in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!