两组之间的间距均匀(Vectorize LINSPACE) - MATLAB

Han*_*ans 3 matlab vector matrix vectorization

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

例如,如果我有

a = [0;     b = [10;
     0];         20]; 
Run Code Online (Sandbox Code Playgroud)

我想生成一个M表格矩阵

[0 2 4  6  8 10;...
 0 4 8 12 16 20]
Run Code Online (Sandbox Code Playgroud)

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

Div*_*kar 7

一种vectorized方法bsxfun-

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

样品运行 -

a =
     2
     3
b =
    18
    23
M =
     2     6    10    14    18
     3     8    13    18    23
Run Code Online (Sandbox Code Playgroud)