How to make this complicated array

1 visualizzazione (ultimi 30 giorni)
Brandon M
Brandon M il 7 Ott 2016
Modificato: Thorsten il 7 Ott 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 Commenti
Jan
Jan il 7 Ott 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 il 7 Ott 2016
Hi Jan!
Most likely this is the Cody.

Accedi per commentare.

Risposte (3)

dbmn
dbmn il 7 Ott 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 il 7 Ott 2016
Modificato: Andrei Bobrov il 7 Ott 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 il 7 Ott 2016
Modificato: Thorsten il 7 Ott 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);

Community Treasure Hunt

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

Start Hunting!

Translated by