arrays - 如何在数组周围创建一层数字?
问题描述
假设我有一个数组B
:
B = [1];
我想使用一个循环在这个数组周围创建一个零层,创建一个以原始 1 为中心的二维数组。
我怎样才能做到这一点?
解决方案
如果你有一个数组并想在它周围创建一层零,你可以使用blkdiag
:
A = zeros(padsize);
result = blkdiag(A,B,A);
如果B
只是一个标量,并且您想在它周围创建一层 padvals,您可以使用repmat
和索引。
result = repmat(padavl,2*padsize+1);
result(padsize+1,padsize+1) = B;
推荐阅读
- c# - 保护 DocuSign Connect SOAP 端点
- database - Liquibase 回滚将列大小更改为旧版本
- java - 使用 session.saveOrUpdate(Object) 时如何防止 Hibernate 抛出 ConstraintViolationException?
- xaml - 为什么 XYFocusKeyboardNavigation 不起作用?
- django - Jinja/Django 我如何从 jinja 过滤?
- json - Go:在 for 循环中使用 JSON Unmarshal
- c++ - 使用 Mac Clang 运行相同的代码,但使用 Unix GCC 崩溃
- arrays - 如何从第 10 行开始的列中剪切和粘贴找到的非空白单元格范围?
- excel - 对于非常大的数组,循环遍历数组会减慢速度。我该怎么做才能加快速度?
- java - java错误:catch类型的非法开始(异常e)