当前位置: 不锈钢 > 详情
C++ 学习笔记
2023-06-07 19:23:42    哔哩哔哩

第一个,取幂次函数和取arctan函数

atan函数只能计算整数的,

C++按照文件路径读取文件时,路径符号需要两个\\


(资料图片仅供参考)

C++代码随机数生成

使用C++自带的库<random>头文件生成随机数

#include <iostream>

#include <random>

using namespace std;

const int M = 10000;//continue 跳过本次循环,执行下次循环   &取地址

//单个数组的大小不能超过十万,一次给的内存不超过2M,会爆

double RanNum[M];

int main()

{

//int seed = 10;

time_t wt1;

wt1 = time(NULL);

int seed = wt1 % 10000;//根据程序运行的时间得到种子序号

default_random_engine gen(seed);//这是传入的随机数生成器,括号里是种子

normal_distribution  <> dis(0, 1);//随机数分布器,均值、方差

double sum = 0;

double var = 0;

for (int i = 0; i < M ; i++)

{

RanNum[i] = dis(gen);

sum = sum + RanNum[i];

//cout << RanNum[i] << endl;//输出随机数,一般觉得长,就不输出了

}

double mean = sum / M;//均值

cout << "mean=" << mean << endl;

for (int i = 0; i < M; i++)

{

var = var + pow((RanNum[i] - mean), 2);

}

var = var / M;//方差

cout << "var=" << var << endl;

return 0;

}

这个代码可以生成不同分布的随机数,能指定均值与方差,需要事先指定随机数种子

这里面的种子是通过代码运行时间计算的,只要代码不是同时运行,基本不会生成相同的种子

另一种方法生成随机数,需要调用boost库,这个库需要自己装

装上库之后,代码头文件加这个:

#include <boost/random.hpp>

#include <boost/random/normal_distribution.hpp>

代码里:

boost::mt19937 rng(seed);//这是传入的随机数生成器,括号里是种子

boost::normal_distribution<> dis(0.0, 1.0);//需要传入一个随机数生成器

for (int ii = 0; ii < =M; ii++)

rannum[ii] = dis(rng);//将随机数输入到准备好的矩阵中

这是另一种方法,不清楚这俩有啥区别

关键词:

上一篇:环球今日讯!和胜股份:在项目研发前沿领域一直与宁德时代深度合作
下一篇:最后一页