网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
07月21日漏签0天
c语言吧 关注:798,843贴子:4,357,140
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 11回复贴,共1页
<<返回c语言吧
>0< 加载中...

模拟在圆周上随机取点,各位看看这样能保证随机性嘛?谢谢了

  • 只看楼主
  • 收藏

  • 回复
  • 流年11122
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我想在圆 (x-1)^2+y^2=1 随机取一些点,然后写出了如下代码,各位看看我的这个做法能保证随机嘛?
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<conio.h>
#include<math.h>
#define N 20
double defY(double x);//函数声明
void FileInput(double x,double y);//函数声明
int main()
{
srand(time(NULL));
double x=0;//x初始化
double y=0;//y初始化
for(int i=0;i<N;i++)
{
x=2*rand()/((double)RAND_MAX);//x为0到2的随机数
y=defY(x);//定义y
FileInput(x,y);
}
printf("Completed!\n");
return 0;
}
void FileInput(double x,double y)//将所得的随机点(x,y)写入文件
{
FILE *f;
f=fopen("F:\\Data.txt","a");
fprintf(f,"%6.5f,%6.5f\n",x,y);
fclose(f);
}
double defY(double x)//返回x对应的圆上的y值(double型)
{
double temp=1-(x-1)*(x-1);
int flag=rand()%2;
if(flag==0) return sqrt(temp);
if(flag==1) return (-1)*sqrt(temp);
}


  • 流年11122
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我执行完成后,将txt中的数据导入excel,然后描点出来的图像总感觉不是随机呢?各位大神帮忙看一下?谢啦


2025-07-21 06:00:17
广告
  • 爽朗的dream1
  • 酱油
    4
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
概率


  • 流年11122
  • 麻婆豆腐
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
顶起来


  • 心眼观物
  • 彩虹面包
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
等概率的从x取点得到等概率的从圆周上取点,感觉这么做有点问题,虽然直径上的一个x可以对应两个y,但在边界上x=0或2就只能对于一个y
要我做就取0~360的一个值,然后根据该角度推x,y


  • 逆水龙翔
  • 强能力者
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
为何不对角度进行随机,而要将一步可以做到的分成两步呢,你不妨算一算分成两个之后概率还一样吗


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 11回复贴,共1页
<<返回c语言吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示