Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Топ:
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 18 лет, прошедшие...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Интересное:
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Dim c1 As Double, c2 As Double, Fa As Double, Fb As Double, Fc As Double
Fa = nel_ur_1(a)
Fb = nel_ur_1(b)
If Fa * Fb > 0 Then
MsgBox ("Интервал [a, b] выбран неправильно")
Exit Function
End If
Do
c2 = c1
c1 = a - (b - a) / (Fb - Fa) * Fa
Fc = nel_ur_1(c)
If Fc * Fa > 0 Then b = c1: Fb = Fc Else a = c1: Fa = Fc
Loop Until Abs(c1 - c2) > delta
Horda = Format(c1, "0.0000000000")
End Function
Затем, например, в ячейке K 35 с помощью мастера функций fx вызвать этот модуль.
В появившемся окне Аргументы функции подставить значения ячеек E 8, F 8 и G 5, как показано на рис. 2.3.1 и, нажав кнопку OK, получить результат
-1.71 3 80 47138.

Рис. 2.3.1
Как и при реализации метода дихотомии в разделе 2.2 и метода Ньютона в разделе 2.3 недостатком использования функции VBA является то, что функция возвращает только один параметр и определить количество итераций в данном случае невозможно.
К достоинствам использования функции VBA также относится то, что можно изменять значение точности вычислений без построения достаточно объёмной таблицы.
Решение второго нелинейного уравнения
Для решения второго по заданию нелинейного уравнения, например, вида 3 sin (x /2) = 2 x 2 - 4, необходимо выполнить следующие действия:
– выделить на листе Excel диапазон ячеек, в которых решалось первое уравнение, то есть в данной адресации A 1: T 38;
– скопировать выделенный фрагмент, например, со строки 42, как показано на рис. 2.4.1;

Рис. 2.4.1
– создать модули VBA для нового уравнения, в данном случае, 3 sin (x /2) = 2 x 2 – 4:
Function nel_ur_2(x)
nel_ur_2 = 3 * Sin(x / 2) - 2 * x ^ 2 + 4
End Function
Function nel_ur_2D(x)
nel_ur_2D = 3 * Cos(x / 2) + 1 / 2 - 2 * x
End Function
Function Pol_del2(a As Double, b As Double, e As Double)
Dim c As Double
10 c = (a + b) / 2
If nel_ur_2(a) * nel_ur_2(c) < 0 Then b = c Else a = c
If Abs(a - b) <= e Then Pol_del2 = Format(c, "0.0000000000") Else GoTo 10
End Function
Function Newton2(a As Double, e As Double)
x = a
x1 = x - nel_ur_2(x) / nel_ur_2D(x)
While Abs(x - x1) > e
x = x1
x1 = x - nel_ur_2(x) / nel_ur_2D(x)
Wend
Newton2 = Format(x1, "0.0000000000")
End Function
Public Function Horda2(a As Double, b As Double, delta As Double)
Dim c1 As Double, c2 As Double, Fa As Double, Fb As Double, Fc As Double
Fa = nel_ur_2(a)
Fb = nel_ur_2(b)
If Fa * Fb > 0 Then
MsgBox ("Интервал [ a, b ] выбран неправильно")
Exit Function
End If
Do
c2 = c1
c1 = a - (b - a) / (Fb - Fa) * Fa
Fc = nel_ur_2(c)
If Fc * Fa > 0 Then b = c1: Fb = Fc Else a = c1: Fa = Fc
Loop Until Abs(c1 - c2) > delta
Horda2 = Format(c1, "0.0000000000")
End Function
– заменить в диапазоне ячеек B 46: B 66 функцию = nel _ ur _1 на функцию = nel _ ur _2, рис. 2.4.1;
– подобрав значения ячеек A 46 и D 43, выполнить этап отделения корней для второго уравнения, то есть для функции nel _ ur _2, в данном случае ячейками, в которых функция nel _ ur _2 меняет знак, являются ячейки A 54 и A 55;
– скопировать значение ячейки A 54 в ячейку E 49, то есть записать E 49= A 54;
– скопировать значение ячейки A 55 в ячейку F 49, то есть записать F 49= A 55;
– заменить в диапазоне ячеек H 49: J 64 функцию = nel _ ur _1 на функцию = nel _ ur _2, рис. 2.4.1;
– в ячейке K 63 в данной адресации появится сообщение корень = -1.1000030518 за 15 шагов (для решаемого варианта задания).
Таким образом, нелинейное уравнение 3 sin (x /2) = 2 x 2 – 4 в среде Excel решено методом дихотомии и корень уравнения равен -1.1000030518.
При этом заданная точность решения e = 0.00001 достигнута за 15 итераций.
Для решения заданного уравнения в среде VBA необходимо, например в ячейке K 67, с помощью мастера функций fx вызвать модуль Pol_del2.
В появившемся окне Аргументы функции подставить значения ячеек E 49, F 49 и G 46, как показано на рис. 2.4.2 и, нажав кнопку OK, получить результат -1.1021057129.

Рис. 2.4.2
Для решения второго по заданию нелинейного уравнения, вида 3 sin (x /2) = 2 x 2 - 4, методом Ньютона необходимо выполнить следующие действия:
– скопировать значение ячейки A 54 в ячейку E 72, то есть записать E 72= A 54;
– заменить в диапазоне ячеек F 72: F 79 функцию = nel _ ur _1 на функцию = nel _ ur _2, рис. 2.4.1;
– заменить в диапазоне ячеек G 72: G 79 функцию = nel _ ur _1 D на функцию = nel _ ur _2 D, рис. 2.4.1;
– в ячейке H 77 в данной адресации появится сообщение корень = -1.1021004844 за 5 шагов (для решаемого варианта задания).
Таким образом, нелинейное уравнение 3 sin (x /2) = 2 x 2 – 4 в среде Excel решено методом Ньютона и корень уравнения равен -1.1021004844.
При этом заданная точность решения e = 0.00001 достигнута за 15 итераций.
Для решения заданного уравнения в среде VBA необходимо, например, в ячейке J 76, с помощью мастера функций fx вызвать модуль Newton2.
В появившемся окне Аргументы функции подставить значения ячеек E 49, F 49 и G 46, как показано на рис. 2.4.3 и, нажав кнопку OK, получить результат -1.1021004844.

Рис. 2.4.3
Для решения заданного уравнения в среде VBA методом Хорд необходимо, например, в ячейке K 76, с помощью мастера функций fx вызвать модуль Horda2.
В появившемся окне Аргументы функции подставить значения ячеек E 49, F 49 и G 46, как показано на рис. 2.4.4 и, нажав кнопку OK, получить результат -1.1020377217.

Рис. 2.4.4
Как и при реализации метода дихотомии и метода Ньютона недостатком использования функции VBA является то, что функция возвращает только один параметр и определить количество итераций в данном случае невозможно.
К достоинствам использования функции VBA относится то, что можно изменять значение точности вычислений без построения достаточно объёмной таблицы.
|
|
|
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!