用matlab在圆内均匀的取点

用matlab产生一个输入向量要求: 在以(1,1)为圆心,半径为1.7的圆内随机取100个点,要求这些点是均匀分布的,作为一个输入向量。

哪位知道怎么做??帮帮忙,谢谢
做作业急用··

x=unifrnd(-0.7,2.7,100,1);%生成100个均匀随机数作为横坐标
a=sqrt(1.7^2-abs(x-1).^2);%计算每个x对应的y范围
y=unifrnd(-a+1,a+1,100,1);%对每个横坐标生成均匀随机数作为纵坐标
u=[x,y];%形成输入向量
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-10-07
楼上生成的不是均匀分布,而是两边密中间疏
pdf=@(x)(sum((x-1).^2)<1.7^2)/pi/1.7^2;
rnd = slicesample([1 1],100,'pdf',pdf);%rnd就是你要的随机向量
相似回答