//相关分析.h
void XiangGuanFenXi()
{
using namespace std;
const int M = 6209;//倚用系列长度
const int Cha = 4380;//待插补系列长度
double H[M] = {0},//水位
Q[M] = {0},//流量
AverageH = 0,
AverageQ = 0,//均值
a, b,//待定回归系数
r = 0,//线性相关系数
sigmaH =0,
sigmaQ = 0;//均方差
double ChaH[Cha],
ChaQ[Cha];//待插系列
ifstream infile;
infile.open("infile_H_Q.txt");
for(int i = 0; i < M; i++)
{
infile>>H[i]>>Q[i];
AverageH += H[i],
AverageQ += Q[i];
}
infile.close();
AverageH /= M,
AverageQ /= M;
for(int i = 0; i < M; i++)
{
r += (H[i] - AverageH)*(Q[i] - AverageQ);
sigmaH += pow(H[i] - AverageH, 2);
sigmaQ += pow(Q[i] - AverageQ, 2);
}
r /= pow(sigmaH*sigmaQ, 0.5);
sigmaH = pow(sigmaH/(M - 1), 0.5);
sigmaQ = pow(sigmaQ/(M - 1), 0.5);
b = r*sigmaQ/sigmaH;
a = AverageQ - b*AverageH;
cout<<
水文分析与计算——缺失流量线性插值及相关分析
该博客介绍了如何进行水文分析中的缺失流量线性插值方法,通过读取水位(H)和流量(Q)数据,计算两者之间的线性相关系数(r),并求得回归系数a和b。根据这些系数,对缺失的流量数据进行插补,并确保生成的流量值非负。相关分析和插值过程有助于理解水文现象的关联性。
摘要由CSDN通过智能技术生成