- •Решение типовых задач вычислительной математики с помощью инструментальных средств vb и ms excel
- •Содержание
- •Введение
- •1. Решения задач численными методами в системе Visual Basic
- •Решение нелинейных уравнений
- •1.1.1. Теоретическая часть
- •1.1.2. Практическая часть
- •1.1.3. Варианты заданий
- •1.1.4. Контрольные вопросы
- •1.2. Вычисление определенных интегралов
- •1.2.1. Теоретическая часть
- •1.2.2. Практическая часть
- •1.2.3. Варианты заданий
- •1.2.4. Контрольные вопросы
- •1.3. Вычисление несобственных интегралов
- •1.3.1. Теоретическая часть
- •1.3.2. Практическая часть
- •1.3.3. Варианты заданий
- •1.3.4. Контрольные вопросы
- •1.4. Решение дифференциальных уравнений
- •1.4.1. Теоретическая часть
- •1.4.2. Практическая часть
- •1.4.3. Варианты заданий
- •1.4.4. Контрольные вопросы
- •1.5. Решение систем нелинейных уравнений
- •1.5.1. Теоретическая часть
- •1.5.2. Практическая часть
- •1.5.3. Варианты заданий
- •1.5.4. Контрольные вопросы
- •1.6. Создание Windows-приложений в системе Visual Basic
- •1.6.1. Теоретические основы проектирования меню
- •1.6.2. Программа-шаблон для курсовой работы
- •1.6.3. Контрольные вопросы
- •2. Примеры решения задач в табличном процессоре Excel
- •2.1. Теоретическая часть
- •2.2. Практическая часть
- •2.3. Создание меню пользователя
- •2.4. Варианты заданий
- •2.5. Контрольные вопросы
- •3. Примеры решения задач в субд Access
- •3.1. Теоретическая часть
- •3.2. Практическая часть
- •3.2.1. Создание файла базы данных и таблиц.
- •3.2.2. Поиск, замена и фильтрация данных
- •Отбор записей с помощью фильтра
- •3.2.3. Запросы
- •3.2.4. Формы
- •3.2.4.1. Создание однотабличной формы
- •3.2.4.2. Создание многотабличной формы
- •3.2.4.3. Создание кнопок управления с помощью мастера
- •3.2.4.4. Кнопочная форма
- •3.2.4.5. Запуск приложения
- •3.2.5. Макросы
- •3.2.6. Отчеты
- •3.3. Варианты заданий
- •3.4. Контрольные вопросы
- •Список литературы
- •Примеры решения некоторых задач для курсовых работ
- •Примеры решения некоторых задач для курсовых работ
1.3.2. Практическая часть
Постановка задачи. Вычислить значение несобственного интеграла, используя формулу Симпсона, а также аналитическое (точное) решение y = ln(2).
Программный код вычисления несобственного интеграла методом Симпсона.
Private Const e = 0.000001
Function F(x As Single) As Single
F = 4 * x / (Exp(x) + Exp(-x)) ^ 2
End Function
Function Integral(ByRef a1 As Single, ByRef b1 As Single) As Single
i1! = 0 : i2! = 1 ‘ Начальные значения интегралов
p! = (F(a1) - F(b1)) / 2
h! = (b1 - a1) / 20
Do While Abs(i2 - i1)/15 > e
x! = a1 + h
s1! = 0
s2! = 0
Do While x < b1
s1 = s1 + F(x)
s2 = s2 + F(x + h)
x = x + 2 * h
Loop
i1 = i2
i2 = 2 * h / 3 * (p + 2 * s1 + s2)
h = h / 2
Loop
Integral = i2
End Function
Private Sub Form_Load()
Dim ss As String
Caption = "Несобственный интеграл"
a! = InputBox("введите левую границу интеграла",,0.001)
s! = 0
b! = 2 * a
Do
z! = Integral(a, b)
s = s + z
a = b : b = 2 * a
ss = ss & Format(s, "#0.000000") & vbCrLf
Loop Until Abs(z) <= e
ss = ss & vbCrLf & "Численное решение интеграла= " & _
Format(s, "#0.000000")
tf = Log(2)
Text1 = ss & vbCrLf & "Точное решение= " & _
Format(tf, "#0.000000")
End Sub
Рис. 6
1.3.3. Варианты заданий
Таблица 3
№ |
Несобственный интеграл |
Точное решение |
Исходные данные |
1 |
|
|
ai=1,2,3 |
2 |
|
|
|
3 |
|
|
|
4 |
|
|
ai=1,2,3...10
|
5 |
|
|
, ai=1,2,3...10, bi=2,3...20 |
6 |
|
|
b=20, ai=1,2,3...10 |
7 |
|
|
|
8 |
|
|
|
9 |
|
|
|
10 |
|
|
|
11 |
|
|
a>0, b>0, ab |
12 |
|
|
a=1,2,3...5 |
13 |
|
|
a=1,2,3...5, b=3,4...10 |
14 |
|
|
a=2,3,4 |
15 |
|
|
a=2,3...8 |
16 |
|
|
a=1,2,3...5, b=1,2,3...5 |
17 |
|
|
|
18 |
|
|
a>0 |
19 |
|
|
|
20 |
|
|
|
1.3.4. Контрольные вопросы
Что представляет собой несобственный интеграл?
В чем заключена особенность вычисления несобственного интеграла?
Что представляют собой ключевые слова ByRef в формальных параметрах функции integral?
Какое еще ключевое слово можно использовать при описании формальных параметром подпрограммы и его назначение?
1.4. Решение дифференциальных уравнений
Цель работы: изучение методов численного решения (интегрирования) дифференциальных уравнений и приобретение практических навыков по их реализации на ЭВМ.