1) директивы препроцессора
#include <iostream>
#include <random>
#include <math.h>
2) Создание функции для генерации случайного значения в заданном диапазоне a -> b
double RandomRealGenerator(double a, double b)
{
std::default_random_engine generator;
std::uniform_real_distribution<double> realDistribution(a, b);
return realDistribution(generator);
}
3) Функция для создания матрица со случайными значениями, сгенерированными выше как элементы
double arrays()
{
// Declare a 3x3 matrix
double MatrixA[3][3];
// Give random values to each element in MatrixA
MatrixA[0][0] = RandomRealGenerator(0, 1); // element 1,1
MatrixA[0][1] = RandomRealGenerator(0, 1); // element 1,2
MatrixA[0][2] = RandomRealGenerator(0, 1); // element 1,3
MatrixA[1][0] = RandomRealGenerator(0, 1); // element 2,1
MatrixA[1][1] = RandomRealGenerator(0, 1); // element 2,2
MatrixA[1][2] = RandomRealGenerator(0, 1); // element 2,3
MatrixA[2][0] = RandomRealGenerator(0, 1); // element 3,1
MatrixA[2][1] = RandomRealGenerator(0, 1); // element 3,2
MatrixA[2][2] = RandomRealGenerator(0, 1); // element 3,3
std::cout << MatrixA[0][0] << " " << MatrixA[0][1] << " " << MatrixA[0][2] << std::endl;
std::cout << MatrixA[1][0] << " " << MatrixA[1][1] << " " << MatrixA[1][2] << std::endl;
std::cout << MatrixA[2][0] << " " << MatrixA[2][1] << " " << MatrixA[2][2] << std::endl;
std::cout << "\nIt's still not generating random doubles\n";
}
4) Я продолжаю получать матрицу, где все элементы одинаковы
0.0850324 0.0850324 0.0850324
0.0850324 0.0850324 0.0850324
0.0850324 0.0850324 0.0850324
5) Я не специальность информатика, и я обычно работаю в Python, поэтому, если есть что-то простое, я сильно упускаю из виду, я был бы признателен, если бы кто-то, по крайней мере, указал мне правильное направление. Спасибо.
ОБНОВЛЕНИЕ
6) это сработало, но я все же хотел бы иметь быструю функцию, которую я могу использовать для генерации случайного числа между любыми диапазонами, которые я бы хотел в данный момент. Я использую случайные значения в различных диапазонах, чтобы исследовать решения для вычислений в данном математическом пространстве. Я делаю это для сбора данных о допустимых значениях для свободных параметров в определенных строковых моделях. В очередной раз благодарим за помощь.
// Declare a 3x3 matrix
double MatrixA[3][3];
std::default_random_engine generator;
std::uniform_real_distribution<double> realDistribution(0, 1);
// Give random values to each element in MatrixA
MatrixA[0][0] = realDistribution(generator); // element 1,1
MatrixA[0][1] = realDistribution(generator); // element 1,2
MatrixA[0][2] = realDistribution(generator); // element 1,3
MatrixA[1][0] = realDistribution(generator); // element 2,1
MatrixA[1][1] = realDistribution(generator); // element 2,2
MatrixA[1][2] = realDistribution(generator); // element 2,3
MatrixA[2][0] = realDistribution(generator); // element 3,1
MatrixA[2][1] = realDistribution(generator); // element 3,2
MatrixA[2][2] = realDistribution(generator); // element 3,3