Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Топ:
Особенности труда и отдыха в условиях низких температур: К работам при низких температурах на открытом воздухе и в не отапливаемых помещениях допускаются лица не моложе 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 относится то, что можно изменять значение точности вычислений без построения достаточно объёмной таблицы.
|
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!