Clear Filters
Clear Filters

Pad a vector to get matrix

1 view (last 30 days)
Mori
Mori on 26 Jul 2016
Edited: Andrei Bobrov on 26 Jul 2016
I have a matrix A like above, how I can get matrix B as result of rotated matrix A in space?

Accepted Answer

Mori
Mori on 26 Jul 2016
A=[10 12 3 34 5]
B=A(1,1)
numel(A)
for i=2:1:numel(A)
B=padarray(B,[1,1],A(1,i))
end

More Answers (1)

Andrei Bobrov
Andrei Bobrov on 26 Jul 2016
Edited: Andrei Bobrov on 26 Jul 2016
A = 5:-1:0;
n = numel(A);
B = zeros(2*n-1);
B(n,n) = 1;
B = A(bwdist(B,'chessboard') + 1)
or without Image Processing Toolbox
A = [10 12 3 34 5];
n = numel(A);
[ii,jj] = ndgrid(1:2*n-1);
B = A(max(abs(ii-n),abs(jj-n))+1);
or
A = [10 12 3 34 5];
n = numel(A);
p = 1:2*n-1;
z = toeplitz(p,p);
B = A((z + z(end:-1:1,:))/2);

Categories

Find more on Time Series 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!