Qt Creator — реализовать эмпирический переполнение стека в формате PDF

Я хочу определить эмпирический cdf в C ++ в соответствии с интервалами, фиксированными N полученными выборками, и я должен сохранить 2 вектора (T и Y)!
Я сделал этот код, но он не работал:

double cum_dist_funct::real_cdf_function(vec X,double x,int N,int Ndft,vec &T, vec &Z)
{
Z.set_size(X.length());
Z.zeros();
vec V;
V.set_size(N);
V.zeros();
double f0=0;
T.set_size(X.length());
T.zeros();
T=X;
for (int i=0; i<Ndft;i++)
{
V=X.get(i*N,(i+1)*N-1);
for(int j=0;j<N;j++)
{
if(x<V[0]) f0=0;
else if (V[j]<=x && x<V[j+1]) f0=j/N;
else if (x>=V[N-1])      f0=1;
Z[i*N+j]=f0;
}
}
return f0;
}

Заранее благодарю за любую помощь!

-1

Решение

  1. Непонятно зачем тебе N, Ndft а также X.length(), Разве одной ценности не достаточно?

  2. Как уже упоминалось, в целочисленном делении j/N вы получаете нули. Пожалуйста, сделайте это, чтобы быть double(j)/double(N)

0

Другие решения


По вопросам рекламы [email protected]