Численные Методы

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: C#
  • 25 25 страниц
  • 0 + 0 источников
  • Добавлена 11.11.2019
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
Содержание
Постановка задачи 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, хотя конкретные методы и подходы к верификации не указаны.