【发布时间】:2016-04-22 06:07:21
【问题描述】:
考虑 n>3 的 n 立方体(定义为 here)。假设它以笛卡尔平面的原点为中心,每条边的长度为 10。
我想在 Matlab 中编写一段代码,允许我从这个超立方体中随机绘制一个点(具有 n 个坐标)。有没有办法在不预先定义 n 维网格的情况下做到这一点?在我的特定应用程序中,n=11。
【问题讨论】:
标签: matlab
考虑 n>3 的 n 立方体(定义为 here)。假设它以笛卡尔平面的原点为中心,每条边的长度为 10。
我想在 Matlab 中编写一段代码,允许我从这个超立方体中随机绘制一个点(具有 n 个坐标)。有没有办法在不预先定义 n 维网格的情况下做到这一点?在我的特定应用程序中,n=11。
【问题讨论】:
标签: matlab
要从边为s 的 n 维超立方体的体积中绘制 1 个点,并且所有点的概率相等,您调用
s = 10;
point = (rand(1,n)-0.5)*s;
如果要一次绘制多个点,请将 1 替换为较大的数字。
【讨论】:
扩展乔纳斯的回答,如果你想指定一个中心,这样做:
center = [1.0 -1.0 2.0 -2.0 ...];
s = 10;
point = (rand(1,n)-0.5)*s + center;
【讨论】: