我想在下限[lx,ly,lz]和上限[ux,uy,uz]之间制作100个随机三维点。
我使用的代码如下
noPoints = 100;
LB = [lx, ly, lz];
UB = [ux, uy, uz];
repmat(UB-LB,noPoints,1).*rand(noPoints,3) + repmat(LB,noPoints,1);
但是,我刚才知道以下代码
repmat(UB-LB,noPoints,1).*rand(noPoints,3) + LB;
给出相同的结果。 这让我意识到"将行向量添加到矩阵中与将行向量添加到矩阵的每个行向量中相同。" 在这里,我有了新的好奇心。 是否有任何方法可以删除功能" repmat"完全? 实际上,
(UB-LB).*rand(noPoints,3) + LB;
无法正常工作,因为两个操作数的尺寸设置不正确。
是否有快速,简洁的代码在边界约束下制作多个随机点?