Вычислить, используя метод Монте-Карло, определенный интеграл - C (СИ)
Формулировка задачи:
Добрый день!
Исчислить, используя метод Монте-Карло, определенный интегралом:
y=sin(2x) + cos(x) x ∈ [0, 2]
Правильно ли это?
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <conio.h>
- #include <math.h>
- int main()
- {
- float x, y; /* описание переменных*/
- if( x>0 && x<2){ /*операции сравнивания*/
- y = sin(2*x) + cos(x);
- printf(" Value: %f\n", y); }
- return 0;
- }
Решение задачи: «Вычислить, используя метод Монте-Карло, определенный интеграл»
textual
Листинг программы
- #include <stdio.h>
- #include <math.h>
- #include <time.h>
- #include <stdlib.h>
- double funkc(int x)
- {
- return (sin(2*x) + cos(x)*x);
- }
- int main() /* главная функция*/
- {
- int i, a[10];
- double sum=0; /* описание переменных*/
- srand(time(NULL));
- for(i=0; i<10; i++) // случайные числа
- {
- a[i] = rand()%3;
- printf("%d, ", a[i]);
- }
- for(i=0; i<10; i++)
- {
- sum+=funkc(a[i]);
- }
- printf("\nResult = %.3lf\n",sum*(2./10));
- return 0;
- }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы: iostream.h, math.h, time.h, stdlib.h
- Определяем функцию с именем
funkc
, которая принимает целочисленный аргумент и возвращает значение double. Внутри функции происходит вычисление определенного интеграла методом Монте-Карло. - В функции main() создаем массив из 10 элементов типа int с именем
a
. Инициализируем переменную sum типа double значением 0. - Задаем начальное значение для генератора случайных чисел с помощью функции srand(time(NULL)).
- Заполняем массив
a
случайными целыми числами в диапазоне от 0 до 2 с помощью функции rand()%3 и оператора присваивания. - Выводим на экран значения массива
a
с помощью цикла for и оператора printf(). - Проходим по массиву
a
с помощью цикла for и суммируем результаты вызова функцииfunkc
для каждого элемента массива в переменную sum. - Выводим на экран значение переменной sum, умноженное на коэффициент 2/10, с помощью функции printf().
- Возвращаем 0 из функции main(), чтобы указать, что программа успешно завершилась.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д