Численные Методы
Заказать уникальную курсовую работу- 25 25 страниц
- 0 + 0 источников
- Добавлена 11.11.2019
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Постановка задачи 3
Выбор и обоснование методов 4
Тестирование процедур, реализующих выбранные методы 7
Метод золотого сечения 7
Метод половинного деления 9
Решение поставленных задач 11
Верификация результатов в рамках MathCad 15
Верификация результатов в рамках Scilab 17
Заключение 19
Приложение 1 20
Приложение 2 21
Приложение 3 22
Литература 25
Hide()
End Sub
End Class
Форма 4
Imports System.Math
Public Class Form4
Function Func(ByVal xp As Single) As Double
Dim qmin As Double, Rmin As Double
qmin = 2.5 * Exp(2.5)
Rmin = 0.5
Func = qmin * Exp(-xp) - 2.5
Func = Func * Func
Func = Func + 0.25
Func = Func - Rmin * Rmin
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a As Single, b As Single, eps As Single
Dim x0 As Single, x1 As Single, x2 As Single
Dim f0 As Single, f1 As Single, f2 As Single, epsi As Single
Dim i As Integer
ListBox1.Items.Clear() : ListBox2.Items.Clear()
ListBox3.Items.Clear() : ListBox4.Items.Clear()
ListBox5.Items.Clear() : ListBox6.Items.Clear()
ListBox7.Items.Clear() : ListBox8.Items.Clear()
'Значения входных параметров:
a = CSng(TextBox1.Text)
b = CSng(TextBox2.Text)
eps = CSng(TextBox3.Text)
x1 = a
x2 = b
x0 = CSng(0.5 * (x1 + x2))
epsi = Abs(x2 - x1)
i = 1
Do Until epsi < eps
f1 = CSng(Func(x1))
f0 = CSng(Func(x0))
f2 = CSng(Func(x2))
If f1 * f0 > 0 Then
x1 = x0
Else
x2 = x0
End If
x0 = CSng(0.5 * (x1 + x2))
epsi = Abs(x2 - x1)
ListBox1.Items.Add(i)
ListBox2.Items.Add(Format(x1, "0.0000"))
ListBox3.Items.Add(Format(x2, "0.0000"))
ListBox4.Items.Add(Format(x0, "0.0000"))
ListBox5.Items.Add(Format(f1, "0.0000"))
ListBox6.Items.Add(Format(f2, "0.0000"))
ListBox7.Items.Add(Format(f0, "0.0000"))
ListBox8.Items.Add(Format(epsi, "0.0000"))
i = i + 1
Loop
TextBox4.Text = Format(x0, "0.000000")
TextBox5.Text = Format(Func(x0), "0.000000")
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
TextBox1.Text = "" : TextBox2.Text = "" : TextBox3.Text = ""
TextBox4.Text = "" : TextBox5.Text = ""
ListBox1.Items.Clear() : ListBox2.Items.Clear()
ListBox3.Items.Clear() : ListBox4.Items.Clear()
ListBox5.Items.Clear() : ListBox6.Items.Clear()
ListBox7.Items.Clear() : ListBox8.Items.Clear()
Me.Hide()
End Sub
End Class
Литература
Н.С. Бахвалов. Численные методы. М.: Наука, 1975.
Б.П. Демидович, И.А. Марон. Основы вычислительной математики. М.: ФМ, 1963.
А.А. Самарский, А.В. Гулин. Численные методы. М.: Наука, 1989.
В.Д. Колдаев. Численные методы и программирование. М.: ФОРУМ–ИНФРА-М, 2009.
А.В. Зенков. Численные методы: учеб. пособие. Екатеринбург: Изд. Ур. ун-та, 2016.
О.М. Кравченко, Т.И. Семенова, В.Н. Шакин, Модели решения вычислительных задач (числовые методы и оптимизация): учеб. пособие. – М., МТУСИ, 2003.
17
Начало
Входные данные:
a, b, eps
GoldenRatio = 0.5 * (1 + Sqrt(5))
i = 1
Abs(b-a) < eps
x1 = b - (b - a)/GoldenRatio
x2 = a + (b - a)/GoldenRatio
f1 = Func(x1)
f2 = Func(x2)
a = x1
f1 >= f2
xmin = 0.5*(a + b)
Выходные данные:
xmin, Func(xmin)
Конец
b = x2
Вывод:
i, a, b, x1, x2, f1, f2, Abs(b-a)
i = i + 1
да
нет
да
нет
Начало
Входные данные:
a, b, eps
x1 = a, x2 = b, x0 = 0.5*(x1 + x2)
i = 1
да
Abs(x2-x1) < eps
нет
f1 = Func(x1)
f0 = Func(x0)
f2 = Func(x2)
нет
да
f1*f2 > 0
x1 = x0
x2 = x0
Вывод:
i, x1, x2, x0, f1, f2, f0, Abs(x2-x1)
x0 = 0.5*(a + b)
i = i + 1
Выходные данные:
x0, Func(x0)
Конец
Начало
RootSearching
Закрыть
Form1
Поиск корня
График
Оптимизация
Close
Close
Close
GoldenRatio
Graph
Form4
Form3
Form2
Конец
Вопрос-ответ:
Какие методы выбираются и обосновываются в статье?
В статье выбираются и обосновываются методы золотого сечения и половинного деления.
В чем состоит тестирование процедур реализующих выбранные методы?
Тестирование процедур заключается в проверке их работоспособности и точности решения задач при помощи различных входных данных.
Как работает метод золотого сечения?
Метод золотого сечения предполагает деление отрезка таким образом, чтобы отношение длин отрезков было равно золотому сечению. Затем выбирается новый отрезок для дальнейшего деления, и процесс повторяется до достижения нужной точности.
Чем отличается метод половинного деления от метода золотого сечения?
Метод половинного деления заключается в делении отрезка пополам на каждой итерации. В отличие от метода золотого сечения, где отношение длин отрезков сохраняется, в методе половинного деления длина отрезка сокращается вдвое на каждой итерации.
Как осуществляется верификация результатов в рамках MathCad?
Верификация результатов в MathCad осуществляется путем сравнения полученных численных значений с аналитическими выражениями или известными точными результатами. Это позволяет проверить точность и корректность работы программных процедур.
Что рассматривается в данной статье?
В данной статье рассматриваются численные методы постановки задач, выбор и обоснование методов, тестирование процедур, реализующих выбранные методы, а также решение поставленных задач.
Какие методы выбираются и обосновываются в статье?
В статье выбираются и обосновываются методы золотого сечения и половинного деления.
Какие процедуры тестируются в статье?
В статье тестируются процедуры, реализующие выбранные методы - метод золотого сечения и метод половинного деления.
Как осуществляется верификация результатов в рамках MathCad и Scilab?
В статье описывается верификация результатов в рамках MathCad и Scilab, хотя конкретные методы и подходы к верификации не указаны.