matlab - 以一定的偏移量向左和向右扩展列向量以形成二维矩阵 - MATLAB

标签 matlab vector vectorization

我有一些随机长度的向量,比如,

a = [ 20
      78
      90
      180];

b = [ 54
      102
      1020];

如何在每个元素前后使用类似 n = 3 的整数生成指标,例如,

a1 = [17  18  19  20  21  22  23          b1 = [51   52   53   54   55   56   57
      75  76  77  78  79  80  81                99   100  101  102  103  104  105
      87  88  89  90  91  92  93                1017 1018 1019 1020 1021 1022 1023];
      177 178 179 180 181 182 183];

没有任何循环, 提前致谢,

最佳答案

使用 bsxfun 的完美设置使用 @plus 句柄 -

n = 3;
a1 = bsxfun(@plus,a,-n:n)
b1 = bsxfun(@plus,b,-n:n)

这里,-n:n作为求和(因为@plus)偏移数组。

关于matlab - 以一定的偏移量向左和向右扩展列向量以形成二维矩阵 - MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26399425/

相关文章:

matlab - eps() 在 MATLAB 中是如何计算的?

c++ - matlab神经网络工具箱

r - 将向量的系数添加到矩阵

javascript - 如何绕轴旋转 Three.js Vector3?

java - 使图像指向鼠标光标

python - 对 3D 空间中的所有点进行叉积

python - 如何计算 python 中两个向量数组的点积?

python - 什么是 [Sci/Num]Python 相当于 Matlabs "norminv"(正态逆累积分布函数)

matlab - 如何使用 matlab 在 K-means 算法后绘制不同颜色聚类的 PCA 散点图?

matlab - 向量化代码的性能,以从索引向量创建每行单个 1 的稀疏矩阵