前情提要:https://zhuanlan.zhihu.com/p/679862117在上篇文章中,我们完成了模型的建立并使用python进行了模拟。然而,受制于python的动态性导致的速度低下,我们只能模拟的简单情况,而不能模拟真正的传播过程中声音的衰减。于是我使用C++重写了模型。在当前的模型中,主要代码如下:#includestdc++.h>
using namespace std;
int length=10;/人阵规模,不得超出10000*10000
int width=10;
//下为f二三项
double A(double a,double b)
{
double y=log1p(a)/log(2)*0.5*(1+tanh(5*(b+1.5)));
return y;
}
//下为随机函数
double g(double t)
{
double y=1+tanh(7*(sin((sqrt(3))*0.7*t)+sin((sqrt(5))*0.7*t)+0.332*sin((sqrt(16))*0.7*t)+sin((sqrt(14))*0.7*t)+1.02*sin((sqrt(2.5803)*0.7*t))));
return y;
}
//这个g2是用来错开各个f的随机初始值,为了省事直接把g里面的部分拿出来了
double g2(double t)
{
...
继续阅读
(68)