Розрахунок інтегралів методом Монте-Карло
Автор: Karina Yakymchuk • Июнь 18, 2020 • Практическая работа • 5,462 Слов (22 Страниц) • 307 Просмотры
Національний університет «Острозька академія»
Економічний факультет
Кафедра економіко-математичного моделювання та інформаційних технологій
Проект
З курсу «Об'єктно-орієнтоване програмування»
На тему:
«Розрахунок інтегралів методом Монте-Карло».
Виконала:
студентка 3 курсу
групи ЕК-31
Якимчук Каріна
Перевірив:
викл. Клебан Ю.В.
Оцінка _____
Острог – 2019
Практичне застосування методу Монте-Карло
Метод інтегрування Монте–Карло – це найбільш відоме застосування статичного моделювання для розв’язання прикладних математичних задач. Особливістю та однією з основних вимог моделювання за методом Монте-Карло є застосування спеціальних комп'ютерних програм.
Одержані значення з проекту (використовуються для побудови графіка щільності його розподілу зі своїм власним математичним очікуванням і стандартним відхиленням. На основі значення математичного очікування та стандартного відхилення обчислюється коефіцієнт варіації результативного показника проекту, за допомогою якого оцінюється індивідуальний ризик.
Виконання завдання
Програма розраховує значення інтегралів на відрізку [0;1] та виводить їх на DataGridView. Для розрахунку з ComboBox можна вибрати одну з формул: "x*sin(x)", "x^2*arcsin(x)", "x^3*e^x". Після виведення результату, його можна побачити на графіку.
Також для роботи знадобляться 2 tabPage2: одна для розрахунку і виведення результату інша - для графіку; декілька TextBox, Label і Button; MenuStrip, ToolStripMenuItem для відкриття та збереження результату. Вигляд форми зображений на рис.1, графіку - рис.2
[pic 1]
Рисунок 1
[pic 2]
Рисунок 2
Для роботи з даною формою потрібно створити клас:
class Raspred
{
}
Код програми матиме такий вигляд:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace MK
{
public partial class Form1 : Form
{
Random rnd = new Random();
public Form1()
{
InitializeComponent();
int numb = rnd.Next(150, 300);
textBox4.Text = Convert.ToString(numb);
}
String filename;
public double func1(double x)
{
return x*Math.Sin(x);
}
public double func2(double x)
{
return x * x * Math.Asin(x);
}
public double func3(double x)
{
return x * x * x * Math.Exp(x);
}
double a,b,f;
double fcn;
int n;
private void выходToolStripMenuItem_Click(object sender, EventArgs e)
{
Close();
}
private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
{
Stream myStream;
openFileDialog1.Filter = "txt file(*.txt)|*.txt|All files (*.*)|*.*";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
if ((myStream = openFileDialog1.OpenFile()) != null)
{
filename = openFileDialog1.FileName;
myStream.Close();
}
else
{
MessageBox.Show("Error file");
return;
}
}
else
{
MessageBox.Show("Error file");
return;
...