- •Решение типовых задач вычислительной математики с помощью инструментальных средств 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.2. Вычисление определенных интегралов
Цель работы: изучение методов численного интегрирования функций с заданными пределами и приобретение практических навыков по реализации их на ЭВМ.
1.2.1. Теоретическая часть
Алгоритм вычисления определенного интеграла методом Симпсона с переменным шагом интегрирования.
Разбивается отрезок интегрирования на 2n равных частей с шагом h=(b-a)/(2n).
На каждом отрезке, состоящих из трех точек на интервалах [x0,x2], [x2,x4],…[x2n-1,x2n], подынтегральная функция f(x) заменяется параболой в виде интерполяционной формулы Ньютона: .
Суммируя интервалы, получим , где f0 =f(a); f2n = f(b); fi - значение функции внутри отрезка.
Затем шаг интегрирования h уменьшается вдвое и производится оценка точности вычислений R двух последних циклов вычислений сумм площадей, которая сравнивается с величиной ε по условию R=|S2n-Sn|/15<ε.
Процесс вычисления площадей повторяется, если R будет ложно.
Алгоритм вычисления определенного интеграла методом трапеций с переменным шагом интегрирования.
Разбивается отрезок интегрирования на n равных частей с шагом h=(b-a)/n.
На каждом отрезке подынтегральной функции заменяется ломаными линиями, и вычисляются площади трапеций. Для вычисления интеграла используется формула .
Затем шаг интегрирования h уменьшается вдвое, и количество шагов увеличивается вдвое.
Производится оценка точности вычислений R двух последних циклов вычислений сумм площадей, которая сравнивается с величиной ε по условию R=|S2n-Sn|/3<ε.
Процесс вычисления площадей повторяется, если R будет ложно.
1.2.2. Практическая часть
Постановка задачи. Вычислить значение определенного интеграла методом Симпсона и трапеций с точностью и по формуле Ньютона - Лейбница y=F(b)-F(a), где .
Программный код вычисления определенного интеграла методом Симпсона.
Function F(x As Single) As Single
F = Sin(x)
End Function
Function FF(x As Single) As Single
FF = -Cos(x)
End Function
Private Sub Form_Load()
Dim ss As String
Caption = "Метод Симпсона"
a! = InputBox("введите левую границу интеграла",,0)
b! = InputBox("введите правую границу интеграла",,3.1415926)
e! = InputBox("введите погрешность",,0.000001)
n& = InputBox("введите количество шагов",,20)
pf! = FF(b) - FF(a)
i1! = 0 : i2! = 1
p! = (F(a) - F(b)) / 2
h! = (b - a) / (2 * n)
Do While Abs(i2 - i1)/15 > e
x! = a + h
s1! = 0 : s2! = 0
Do While x < b
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
ss = ss & Format(i2, "#0.00000000") & vbCrLf
Loop
Text1 = ss & vbCrLf & "Integral = " & Format(i2, "#0.00000000") & _
vbCrLf & "Первообразная = " & Format(pf, "#0.00000000")
End Sub
Рис.4
Программный код вычисления определенного интеграла методом трапеций.
Function F(x As Single) As Single
F = Sin(x)
End Function
Function FF(x As Single) As Single
FF = -Cos(x)
End Function
Private Sub Form_Load()
Dim ss As String
Caption = "Метод трапеций"
a! = InputBox("введите левую границу интеграла",,0)
b! = InputBox("введите правую границу интеграла",,3.1415926)
e! = InputBox("введите погрешность",,0.00001)
n& = InputBox("введите количество шагов",,20)
i1! = 0 : i2! = 1 ‘ Начальные значения интегралов
y
Рис.5
h! = (b - a) / n
Do While Abs(i2 - i1)/3> e
x! = a
y! = 0
For i& = 1 To n - 1
x! = x + h
y! = y + F(x)
Next i
i1 = i2
i2 = h * (y + y0 + yn)
h = h / 2 : n = n * 2
ss = ss & Format(i2, "#0.00000000") & vbCrLf
Loop
ss = ss & vbCrLf & "Integral = " & Format(i2, "#0.0000000")
Text1 = ss & vbCrLf & "Первообразная = " & _
Format(FF(b) - FF(a), "#0.0000000")
End Sub