Pad a vector to get matrix

7 vues (au cours des 30 derniers jours)
Mori
Mori le 26 Juil 2016
Modifié(e) : Andrei Bobrov le 26 Juil 2016
I have a matrix A like above, how I can get matrix B as result of rotated matrix A in space?

Réponse acceptée

Mori
Mori le 26 Juil 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

Plus de réponses (1)

Andrei Bobrov
Andrei Bobrov le 26 Juil 2016
Modifié(e) : Andrei Bobrov le 26 Juil 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);

Catégories

En savoir plus sur Computational Geometry dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by