//年均流量趋势检验.h
//年均流量Mann-Kendall法趋势分析
void MannKendall()
{
using namespace std;
int S = 0;//检验的统计变量
double VarS,//统计变量S的方差
Z ;//标准正态统计变量方差
S = 0;
for(int i = 0; i < Y; i++)
for(int j = i + 1; j < Y; j++)
{
if(YearQ[j]>YearQ[i]) S++;
if(YearQ[j]<YearQ[i]) S--;
}
VarS = 0;
VarS = Y*(Y - 1)*(2*Y + 5)/18.0;
if(S > 0) Z = (S - 1)/pow(VarS, 0.5);
if(S < 0) Z = (S + 1)/pow(VarS, 0.5);
cout<<"年均流量趋势检验——Mann-Kendall检验:"<<endl
<<"标准正态统计变量Z= "<<Z<<endl
<<"Mann-Kendall检验通过请输入1,否则请关闭!"<<endl;
cin>>Z;//控制台停留
cout<<endl;
}
//年均流量线性回归法法趋势分析
double Normal(double z)
{//返回标准正态分布的密度函数
double temp;
temp=exp((-1)*z*z/2)/sqrt(2*PI);
return temp;
}
double NormSDist(const double z)
{//返回标准正态分布的累积频率函数
if(z > 6) return 1;
if(z < -6) return 0;
static
水文分析与计算——年均流量趋势检验(Mann-Kendall法、线性回归法)
最新推荐文章于 2024-09-03 09:16:13 发布
该博客介绍了如何使用Mann-Kendall方法和线性回归法进行年均流量的趋势分析。Mann-Kendall法通过计算统计变量S和标准正态统计变量Z来评估趋势,而线性回归法则通过计算相关系数r、回归系数a和b来进行趋势检验。博客提供了详细的代码实现,并展示了如何进行正态分布K-S检验。
摘要由CSDN通过智能技术生成