首页 > 解决方案 > 如何在数组周围创建一层数字?

问题描述

假设我有一个数组B

B = [1];

我想使用一个循环在这个数组周围创建一个零层,创建一个以原始 1 为中心的二维数组。

我怎样才能做到这一点?

标签: arraysmatlabmatrix

解决方案


如果你有一个数组并想在它周围创建一层零,你可以使用blkdiag

A = zeros(padsize);
result = blkdiag(A,B,A);

如果B只是一个标量,并且您想在它周围创建一层 padvals,您可以使用repmat和索引。

result = repmat(padavl,2*padsize+1);
result(padsize+1,padsize+1) = B;

推荐阅读