У меня есть следующий код:подталкивание распределение student_t
#include <boost/smart_ptr/shared_ptr.hpp>
#include <boost/numeric/interval.hpp>
#include <boost/math/distributions/students_t.hpp>
using namespace boost::numeric;
using namespace interval_lib;
unsigned int len=10;
unsigned int v = len - 1;
double sqrtlen = sqrt(double(len));
students_t dist(v);
double stdev = 0.2;
double mean = 3;
double t_stat = mean * sqrtlen/stdev;
double q = cdf(complement(dist, std::fabs(t_stat)));
однако, когда я компилирую, я получаю следующее сообщение об ошибке:
Tests.cpp:39:3: error: ‘students_t’ was not declared in this scope
Tests.cpp:39:14: error: expected ‘;’ before ‘dist’
Tests.cpp:45:31: error: ‘dist’ was not declared in this scope
Tests.cpp:45:54: error: ‘complement’ was not declared in this scope
Tests.cpp:45:55: error: ‘cdf’ was not declared in this scope
Я не понимаю, почему он жалуется, когда у меня есть включая соответствующие заголовки. Может кто-нибудь, пожалуйста, скажите мне, как это исправить. благодаря!
спасибо, мне не хватает пространства имен boost :: math. который исправил его – user1155299
@ user1155299: В этом случае вы должны принять этот ответ. – Mankarse