2016-04-21 92 views
1

考虑n> 3的n立方体(定义为here)。假设它以笛卡尔平面的原点为中心,每条边的长度为10.在Matlab中随机绘制超立方体

我想在Matlab中编写一段代码,允许我从该超立方体中随机绘制一个点(带有n个坐标)。有没有办法做到这一点,而无需预先定义一个n维网格?在我的特殊应用程序n = 11。

回答

3

为了从侧面s n维超立方体的体积抽1点,在具有相同概率的所有点,你叫

s = 10; 
point = (rand(1,n)-0.5)*s; 

,如果你想吸引很多具有较大数量的更换1点一次。

+0

哪里是中心?是否有可能使用与原点不同的中心? – user3285148

3

扩展乔纳斯的回答,如果要指定一个中心,做到这一点:

center = [1.0 -1.0 2.0 -2.0 ...]; 
s = 10; 
point = (rand(1,n)-0.5)*s + center;