Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
Федеральное государственное бюджетное учреждение высшего профессионального образования
«Юго-Западный государственный университет»
Кафедра ПО и ВТ
Лабораторная работа №3
по дисциплине «Офисные технологии»
на тему «Решение уравнений средствами Excel и VBA»
Вариант - 12
Выполнили: |
ст. гр. ПО-91 Кулабухов С.А. |
|
Проверил: |
доц. Малышев. А.В. |
Курск - 2013
Целью настоящей работы является изучение расширенных возможностей решающего блока офисной программы Microsoft Excel и получение навыков программирования циклических алгоритмов, процедур и функций на языке интегрированной среды VBA.
Формула:
,
Самым простейшим из методов уточнения корней является метод половинного деления, или метод дихотомии, предназначенный для нахождения корней уравнений, представленных в виде f(x)=0.
Пусть непрерывная функция f(x) на концах отрезка [a,b] имеет значения разных знаков, т.е. f(a)f(b)0 (рис. 1), тогда на отрезке имеется хотя бы один корень.
Возьмем середину отрезка с=(a+b)/2. Если f(a)f(c)0, то корень явно принадлежит отрезку от a до (a+b)/2 и в противном случае от (a+b)/2 до b.
Поэтому берем подходящий из этих отрезков, вычисляем значение функции в его середине и т.д. до тех пор, пока длина очередного отрезка не окажется меньше заданной предельной абсолютной погрешности (b-a)<.
Так как каждое очередное вычисление середины отрезка c и значения функции f(c) сужает интервал поиска вдвое, то при исходном отрезке [a,b] и предельной погрешности количество вычислений n определяется условием (b-a)/2n<, или n~log2((b-a)/). Например, при исходном единичном интервале и точности порядка 6 знаков (~10-6) после десятичной точки достаточно провести 20 вычислений (итераций) значений функции.
С точки зрения машинной реализации этот метод наиболее прост и используется во многих стандартных программных средствах, хотя существуют и другие более эффективные по затратам времени методы.
SubМакрос1()
Dim F1, F2 As Double
Dim a, b, c, e As Double
a = 0.00001
b = 3.14 / 2
e = 0.0000001
F1 = Tan(a) * 1 / a
While ((b - a) > e)
c = (a + b) / 2
F2 = Tan(c) * 1 / c
If (F1 * F2 <= 0) Then
b = c
Else
a = c
End If
Cells(1, 1) = c
End While
End Sub