Метод Монте-Карло. Интегрирование методом серединных треугольников.

Описание:
Доступные действия
Введите защитный код для скачивания файла и нажмите "Скачать файл"
Защитный код
Введите защитный код

Нажмите на изображение для генерации защитного кода

Текст:

Содержание.

1. Задание на курсовую работу. 2

2. Введение. 3

3. Расчет и построение графика. 4

4. Пересеченье с осью абсцисс. 5

5. Интегрирование методом серединных треугольников……………………………………..6

6. Метод Монте-Карло. ……….....7

7. Блок-схема решения задачи…………………………………………………………..………9

8. Заключение……………………………………………………………...................................10

9. Список используемой литературы……………………………………………………….…10

1. Задание на курсовую работу

Вариант 21:

Аргумент: х:=-4, -3,99 ..4

Функция (N=1..5):

y(x)=-(2*x)2*N*4+4*N*x+(cos(x2/4))4

1.1. Разработайте и протестируйте программу, выполняющую построение графика заданной функции, координатных осей и подписей на осях в заданном интервале изменения значений аргумента.

1.2. Дополните программу п.1.1. так, чтобы на экранной форме выводились точки пересечения заданной функции с осью абсцисс. Решение соответствующего уравнения выполните с точностью до 0,0001 одним из численных методов: дихотомия, метод хорд, касательных и т.п.

1.3. Дополните программу п.1.2., запрограммировав вывод на экран изображения интеграла и производной функции (вариант: изображения графика производной и интеграла выполните на отдельных формах). Численное интегрирование проведите методом трапеций (методом Монте-Карло), задав не менее 100 точек для вычисления интеграла в интервале задания функции.

1.4. С точностью до 0,001 методом трапеций вычислите площадь фигуры, образованной заданной функцией между 2 и 3-им корнем и осью абсцисс.

2. Введение

Цель курсовой работы.

Microsoft Visual Basic — язык программирования, а также интегрированная среда разработки программного обеспечения, разрабатываемое корпорацией Microsoft. Язык Visual Basic унаследовал дух, стиль и отчасти синтаксис своего предка — языка BASIC, у которого есть немало диалектов. В то же время Visual Basic сочетает в себе процедуры и элементыобъектно-ориентированных и компонентно-ориентированных языков программирования. Интегрированная среда разработки VB включает инструменты для визуального проектирования пользовательского интерфейса, редактор кода с возможностью IntelliSense и подсветкой синтаксиса, а также инструменты для отладки приложений.

Visual Basic также является хорошим средством быстрой разработки (RAD) приложений баз данных для операционных систем семейства Microsoft Windows. Множество готовых компонентов, поставляемых вместе со средой, призваны помочь программисту сразу же начать разрабатывать бизнес-логику приложения, не отвлекая его внимание на написание кода запуска программы, подписки на события и других механизмов, которые VB реализует автоматически.

Первое признание серьёзными разработчиками Visual Basic получил после выхода версии 3. Окончательное признание как полноценного средства программирования для Windows — при выходе версии 5. Версия VB6, входящая в состав Microsoft Visual Studio 6.0, стала по-настоящему зрелым и функционально богатым продуктом.

Приобретение навыков проектирования в интегрированной среде VisualBasic (VB). При работе над проектом программы исследования функций необходимо на практике применить основные алгоритмические структуры, графические средства языка, а также вычислительные методы определения корней уравнений, численного дифференцирования и интегрирования.

Язык программирования BASIC – Beginner"sAllpurposeSymbolicInstructionCode (универсальный символьный программный код для начинающих), - был разработан сотрудниками Дартмутского колледжа (США) в 1964 году для быстрого обучения студентов основам программирования. Язык быстро приобрел популярность и постоянно развивался. Последней его версией является среда программирования VisualBasic.

VisualBasic - это интегрированная среда разработки приложений,которая включает в себя различные компоненты:

Конструктор форм – позволяет создавать окна-формы по принципу детской игры "Конструктор", когда из коробки с деталями (Панель инструментов) достаются нужные элементы и размещаются на форме в том порядке, как желает создатель приложения.

Текстовый редактор – используется для написания программ, причем доступны команды работы с буфером обмена: Правка/Копировать, Правка/Вырезать, Правка/Вставить.

Отладчик – помогает устранять ошибки в текта программы, выделяя их в тексте различными цветами.

Компилятор – превращает отлаженный программный проект в Windows-приложение в виде полноценного исполняемого (.exe) файлa, который может работать уже без участия VisualBasic.

3. Расчет и построение графика

Рисунок 1 – Расчет и построение исследуемого графика

Листинг 1 – Расчет и построение исследуемого графика

Option Explicit

Dim N As Integer

Private Sub Command1_Click()

Dim x As Double, y As Double

Dim N As Integer, i As Integer

Picture1.Scale (-5, 20)-(5, -20)

"Ось X

Picture1.Line (-5, 0)-(5, 0), vbBlack

For i = -5 To 5 Step 1

Picture1.PSet (i, 0), vbRed

Picture1.Print i

Next i

"Axe Y

Picture1.Line (0, -20)-(0, 20), vbBlack

For i = -20 To 20 Step 2

Picture1.PSet (0, i), vbCyan

Picture1.Print i

Next i

"Построение графика

Picture1.DrawWidth = 2

For N = 1 To 5

For x = -4 To 4 Step 0.1

If N = 1 Then Picture1.ForeColor = vbBlack

If N = 2 Then Picture1.ForeColor = vbRed

If N = 3 Then Picture1.ForeColor = vbBlue

If N = 4 Then Picture1.ForeColor = vbGreen

If N = 5 Then Picture1.ForeColor = vbCyan

Picture1.Line (x, Result(x, N))-(x + 0.1, Result(x + 0.1, N))

Next x

Next N

End Sub

Function Result(x As Double, N As Integer) As Double

Result = -((2*x)^2)*N* (Sin(2 * x)) ^ 4 +4*N*x+ (Cos((x^2)/4)) ^ 4

End Function

4. Пересеченье с осью абсцисс

Рисунок 2 - Пересеченье с осью абсцисс

Листинг 2 -Пересеченье с осью абсцисс

Private Sub Command2_Click()

"Корни

Dim FA As Double, FB As Double, x1 As Double, x2 As Double, x As Double, d As Double

Dim xroot As Double, xroot1 As Double

Dim j As Integer

Dim Xstr As String

Dim K As Integer, a As Integer, b As Integer, num As Integer

List1.Clear

For N = 1 To 5

Xstr = "Корни уравнения при N= " + Str(N)

List1.AddItem (Xstr)

Xstr = "Х1        " + "X2     " + "Корень    " + "№   "

List1.AddItem (Xstr)

K = 0

d = 0.01

b = 4

a = -4

num = Int((b - a) / d)

For j = 0 To num

x = a + j * d

FA = Result(x, N)

FB = Result(x + d, N)

If FA = 0 Then

xroot = x

x1 = x

x2 = x

j = j + 1

K = K + 1

Xstr = Str(Round(x1, 3)) + "       " + Str(Round(x2, 3)) + "      " + Str(Round(xroot, 3)) + "      " + Str(K)

List1.AddItem (Xstr)

ElseIf FA * FB < 0 Then

x1 = x

x2 = x + d

xroot = rootfunc(x1, x2)

K = K + 1

Xstr = Str(Round(x1, 3)) + "       " + Str(Round(x2, 3)) + "         " + Str(Round(xroot, 3)) + "         " + Str(K)

List1.AddItem (Xstr)

End If

Next j

Next N

End Sub

Function rootfunc(xleft As Double, xright As Double) As Double

Dim epsilon As Double

Dim AA As Double

Dim BB As Double

Dim FA As Double

Dim Fx As Double

Dim xx As Double

epsilon = 0.00000001

AA = xleft

BB = xright

FA = Result(AA, N)

Do

xx = (AA + BB) / 2

Fx = Result(xx, N)

If FA * Fx > 0 Then

AA = xx

Else

BB = xx

End If

Loop Until Abs(Fx) < epsilon Or BB - AA < epsilon

rootfunc = xx

End Function

5. Интегрирование методом серединных треугольников

Рисунок 3 - Интегрирование методом серединных треугольников

Листинг 3 -Интегрирование методом серединных треугольников

Private Sub Command3_Click()

Dim eps As Double, Integral1 As Double, Integral2 As Double, R As Double, Del As Double, Left As Double, Rigth As Double, i As Double

Dim Nnn As Long

Picture2.Cls

Picture2.Scale (-4, 0)-(4, -3100)

"Ось X

Picture2.Line (-4, 0)-(4, 0), vbBlack

For i = -4 To 4 Step 1

Picture2.PSet (i, 0), vbRed

Picture2.Print i

Next i

"Axe Y

Picture2.Line (0, -3100)-(0, 0), vbBlack

For i = -3100 To 0 Step 200

Picture2.PSet (0, Round(i, 1)), vbCyan

Picture2.Print i

Next i

N = Val(Text4)

eps = 0.000001

Nnn = 24

Left = Val(Text1)

Rigth = Val(Text2)

Integral1 = IntegrFunc(Left, Rigth, Nnn)

Do

Nnn = 2 * Nnn

Integral2 = IntegrFunc(Left, Rigth, Nnn)

If Abs(Integral2) <= 1 Then R = 1 Else R = Integral2

Del = Abs((Integral1 - Integral2) / R)

Integral1 = Integral2

Loop Until Del < eps

Text3 = Str(Integral2)

Nnn = 24

End Sub

Function IntegrFunc(Left As Double, Rigth As Double, Nnn As Long) As Double

Dim summ As Double, pas As Double, XI As Double

Dim i As Integer

pas = (Rigth - Left) / Nnn

XI = Left + pas / 2

summ = 0

i = 0

For i = 1 To Nnn

summ = summ + Result(XI, N)

Picture2.PSet (XI, summ), vbRed

XI = XI + pas

Next i

IntegrFunc = summ * pas

End Function

6. Метод Монте-Карло

Рисунок 4 - Метод Монте-Карло

Листинг 4 - Метод Монте-Карло

Private Sub Command4_Click()

Dim x1 As Double, x2 As Double, ff As Double, xx As Double, sf As Double, MonteInt As Double

Dim d As Double, a As Double, b As Double, num As Double

Dim i As Integer, j As Integer

N = 1

MonteInt = 0

List2.Clear

d = 0.01

b = 4

a = -4

num = Int((b - a) / d)

For i = 0 To num

x1 = a + i * d

x2 = x1 + d

sf = 0

For j = 1 To 1000

Randomize

xx = x1 + Rnd(i) * d

ff = Result(xx, N)

sf = sf + ff

Next j

sf = sf / 1000

sf = sf * d

MonteInt = MonteInt + sf

List2.AddItem (Str(x1 + d / 2) + "    " + Str(MonteInt))

Next i

End Sub


7. Блок-схема решения задачи

7. Заключение

В ходе выполнения курсовой работы, согласно варианту 21, была написана программа исследования функций на VisualBasic 6.0, где на практике пришлось применить знания по основным алгоритмическим структурам (циклам с заданным числом повторений и циклами с неизвестным числом повторений , разветвляющимся конструкциям), графические средства языка (вывод и отображения графиков), а также вычислительные методы определения корней уравнений, численного дифференцирования и интегрирования.

8. Список используемой литературы

1. Индришенок В.И., Певцов Е.Ф., Русанов К.Е. Информатика: Практикум по программированию: Основы программированияна VISUAL BASIC 6.0 // Методические указания по выполнению лабораторных работ. Московский государственный институт радиотехники, электроники и автоматики (Технический Университет). М.: 2001, 32 с.

2. Глушаков С.В., Мельников И.В., Сурядный А.С. Программирование в среде Windows: Учебный курс / Харьков: Фолио; Ростов-н/Д: Феникс; Киев: Абрис, 2000. – 487 с.

3. Волченков Н.Г. Программирование на Visual Basic 6: В 3-х ч. М.: ИНФРА-М, 2000.

4. Стивенс Р. Тестирование и отладка программ на Visual Basic: Пер. с англ. – М.: ДМК Пресс, 2001. – 384 с.

5. Ракитин В.И., Первушин В.Е. Практическое руководство по методам вычислений с приложением программ для персональных компьютеров: Учеб. пособие. – М.: Высш. шк., 1998. – 383с.

Информация о файле
Название файла Метод Монте-Карло. Интегрирование методом серединных треугольников. от пользователя sapavug
Дата добавления 10.5.2020, 19:00
Дата обновления 10.5.2020, 19:00
Тип файла Тип файла (zip - application/zip)
Скриншот Не доступно
Статистика
Размер файла 424.26 килобайт (Примерное время скачивания)
Просмотров 413
Скачиваний 127
Оценить файл