MM=[a:(b-a)/5:b]是向量或集合时,如何根据a定义矩阵b(从ab分5步);更具体地说,i 中的每一行 M 应该有一个等于 a(i) 的第一个值和最后一个值 b(i) ,并且在它们之间有 5 个相等的步骤。

例如,如果我有

a = [0;     b = [10;
     0];         20];

我想生成一个矩阵 M 的形式
[0 2 4  6  8 10;...
 0 4 8 12 16 20]

我知道如何使用循环来做到这一点,但我正在寻找没有的解决方案。我怎样才能做到这一点?

最佳答案

vectorized 的一种 bsxfun 方法 -

steps = 5                               %// number of steps
M = bsxfun(@plus,((b(:)-a(:))./(steps-1))*[0:steps-1],a(:))

sample 运行 -
a =
     2
     3
b =
    18
    23
M =
     2     6    10    14    18
     3     8    13    18    23

关于matlab - 两组之间均匀间隔的数字(向量化 LINSPACE) - MATLAB,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29034188/

10-11 16:36