如何根据 M=[a:(b-a)/5:b]
定义矩阵 M
(从 a
到b
分5步),当a
和b
为向量或集合时;更具体地说,M
中的每一行 i
应该有一个等于 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/