Create Struve1.cpp
This commit is contained in:
17
UTSR/Struve1.cpp
Normal file
17
UTSR/Struve1.cpp
Normal file
@ -0,0 +1,17 @@
|
||||
#include <cmath>
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
#include <boost/math/quadrature/gauss_kronrod.hpp>
|
||||
|
||||
double Struve1(double z) {
|
||||
std::function<double(double)> S1 = [z](double tt) {
|
||||
return (2.0 / M_PI) * z * std::sqrt(1 - tt * tt) * std::sin(z * tt);
|
||||
};
|
||||
|
||||
auto integrand = [&S1](double x) { return S1(x); };
|
||||
|
||||
double result = boost::math::quadrature::gauss_kronrod<double, 15>::integrate(integrand, 0.0, 1.0);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
Reference in New Issue
Block a user