#include #include #include #include #include using namespace boost::numeric::odeint; std::vector> variable; std::vector times; // Definir el sistema de ecuaciones void system_of_equations(const std::vector& variables, std::vector& derivative_rates, const double time) { // Tasa de cambio para x derivative_rates[0] = variables[0] + variables[1]; // Tasa de cambio para y derivative_rates[1] = variables[0] - variables[1]; } void printVariables(const std::vector& variables, const double time) { std::cout << "t=" << time << " " << "x=" << variables[0] << " " << "y=" << variables[1] << std::endl; variable.push_back(variables); times.push_back(time); } void test(const std::vector& variables, const double time) { std::cout << "test" << std::endl; } __global__ void hello() { printf("Hello World!\n"); } int main() { // Definir condiciones iniciales y tiempo de integración std::vector initial_variables = { 1.0, 0.0 }; // Condiciones iniciales: x(0) = 1, y(0) = 0 double start_time = 0.0, end_time = 5, time_step = 1e-4; // Tiempo de integración: de 0 a 5 con pasos de 0.1 // Integrar el sistema de ecuaciones con el método de Runge-Kutta de cuarto orden integrate(system_of_equations, initial_variables, start_time, end_time, time_step, printVariables); // for (int i = 0; i < times.size(); i++) // { // std::cout << "time: " << times[i] << std::endl; // } int* a; cudaMalloc(&a, 10 * sizeof(int)); cudaFree(a); hello << <1, 10 >> > (); cudaDeviceReset(); return 0; }