How to make this complicated array

1 次查看(过去 30 天)
Brandon M
Brandon M 2016-10-7
编辑: Thorsten 2016-10-7
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 个评论
Jan
Jan 2016-10-7
This sounds like a homework question. So please post, what you have tried so far and ask a specific question.
Andrei Bobrov
Andrei Bobrov 2016-10-7
Hi Jan!
Most likely this is the Cody.

请先登录,再进行评论。

回答(3 个)

dbmn
dbmn 2016-10-7
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 2016-10-7
编辑:Andrei Bobrov 2016-10-7
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 2016-10-7
编辑:Thorsten 2016-10-7
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);

类别

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

标签

Community Treasure Hunt

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

Start Hunting!

Translated by