dire que j'ai un tableau Je veux utiliser une boucle pour créer une couche de zéros autour de ce tableau, créant un tableau 2D avec le Original 1 au centre. P> Comment puis-je faire cela? p> p> B code>:
3 Réponses :
À condition que vous disposiez de la boîte à outils de traitement d'image, utilisez Si vous n'avez pas la boîte à outils de traitement d'image, il est facilement effectué à la main: p> Padarray Code> : B = 1;
[X,Y] = size(B); % Get sizes
padvalue = 0;
A = padvalue*ones(X+2*padsize ,Y+2*padsize ); % Initialise with a size of 2 larger
for ii = 1:X
for jj = 1:Y
A(ii+padsize ,jj+padsize ) = B(ii,jj); % Grab correct element
end
end
Vous pouvez concaténer quelques tableaux code> sur la matrice d'origine, je vais utiliser le même padvalue code> et PADSize code> Syntaxe comme padvalue = 0; % Value to pad around the outside
padsize = 1; % Depth of padding
B = 1; % Some matrix
[r,c] = size(B);
A = [ padvalue*ones(padsize,c+2*padsize);
[padvalue*ones(r,padsize), B, padvalue*ones(r,padsize)];
padvalue*ones(padsize,c+2*padsize) ];
Si vous avez un tableau et souhaitez créer une couche de zéros autour, vous pouvez utiliser si blkdiag code>: b code> est juste un scalaire et vous voulez créer une couche de pavades autour de lui, vous pouvez utiliser repmat code> et indexation. p>
Bonjour, bienvenue à Stackoverflow !! Ce serait génial si vous pouviez lire ces directives avant de poser une nouvelle question. Merci.