ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 28.03.2025
Просмотров: 277
Скачиваний: 1
1.6. Вычисления в цикле по рекуррентным формулам
Задание. Составьте программу суммирования начальных членов заданного ряда при заданном аргументе x, пока абсолютная величина члена ряда не станет меньше E (малая величина, например 0,0000001).
Вычисляйте члены ряда по рекуррентным формулам, которые выведите, анализируя выражение общего члена ряда. Для тестирования программы используйте |x| ≤ 1.
Правильное значение суммы ряда приблизительно равно значению контрольной формулы (см. ниже перечень контрольных формул; номера ряда и номер формулы совпадают). В противном случае для нахождения ошибки проверьте вычисления по шагам, в отладочном режиме, используя удобное значение x = 1.
Пример выполнения задания для пункта № 0 перечня рядов. Обозначим j номер члена ряда. Если x < 1, имеем дело с быстро убывающим рядом, т.е. число суммируемых членов невелико. Тем не менее, можно значительно ускорить суммирование, если свести к минимуму число умножений при получении очередного члена ряда. Вместо возведения в степень (2j –1) будем увеличивать на 2 текущую степень x, а текущее значение знаменателя zn будем получать, умножая предыдущее на два новых сомножителя (2j–3), (2j–2). Кроме x, zn и E, потребуются переменные chis (числитель), slag (член ряда) = chis/zn, Sum (сумма). Ниже дана одна из возможных схем суммирования:
chis = x, zn = 1, slag = x, Sum = 0,
ВЫПОЛНЯТЬ // Строим цикл с постусловием
slag = chis/zn,
Sum = Sum + slag,
j = j+1, chis = –chis · x · x,
zn = zn (2j–3) (2j–2) // chis и slag меняют знак!
ПОКА НЕ СТАНЕТ ИСТИНОЙ |slag| < E.
Схему можно усовершенствовать. Если предусмотреть переменную со значением x2, а в цикле вместо j изменять (на 2) переменную со значением 2j, исчезнут еще три умножения при вычислении очередного члена ряда.
В примере использовано разложение в ряд произведения x·cos x. Возможное несовпадение значений x·cos x, Sum — признак ошибки в подготовке и/или построении цикла. Программируя цикл, нужно тщательно выверять исходные значения и порядок записи действий.
Перечень бесконечных рядов
0. x – x3/2! + x5/4! – x7/6! + x9/8! – x11/10! ± …
1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

27.

28.

29.

30.

Перечень контрольных формул
|
№ |
Формула |
№ |
Формула |
||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
|
|
|
||||
1.7. Управление циклом по сложному условию
Выполняя задание, используйте цикл, завершаемый либо после использования 20 заданных значений (0,1; 0,2; 0,3; … ; 2,0) аргумента x заданной функции F(x), либо ранее, при выявлении характерной точки.
Точка
x*
локального
минимума (локального максимума)
функции F
характеризуется тем, что в достаточно
малой ее окрестности все значения
функции больше (меньше) F(x*).
Признаком прохождения локального
экстремума является изменение знака
приращения
функции: при прохождении максимума —
с плюса на минус, а при прохождении
минимума —
с минуса на плюс. Нуль
функции
F(x)
—
это аргумент x**,
обращающий функцию в нуль. Для выявления
нуля непрерывной функции достаточно
найти близкие значения аргумента x
< x,
такие, что
.
Тогдаx
< x**
< x.
Задание. Для выявления характерной точки изменяйте x с шагом 0,1, начиная от точки 0,1 (предел x = 2), вычисляйте F(x) и применяйте соответствующий критерий. Используйте цикл с предусловием или постусловием, заканчивающийся при выявлении искомой точки либо после прохождения 20 указанных значений аргумента x.
В каждом варианте задания указана функция F(x) и две характерные точки; найдите каждую из этих точек.
Варианты задания
1 – e x/3/5 +
ln
(x
+ 0,1); нуль функции; локальный максимум.e –x/7+ln (x+1)+(5x – 3)/(x3 +1); нуль функции; локальный максимум.
x2 e x–2 – arctg (x (x + 2)2); локальный минимум; нуль функции.
e–2x + x2 – 3; локальный минимум; нуль функции.
sin
(3x
+1); нуль функции; локальный максимум.
1,5 x2 e x/20 – 4
+
1; локальный минимум; нуль функции.3x
–
π x2;
локальный максимум; нуль функции.(x4 – 13x2 + 25)/π
локальный максимум; нуль функции.
;
локальный минимум; нуль функции.
–x3;
локальный максимум; нуль функции.
ln
x
– e
–x/5
;
локальный минимум; нуль функции. x – e –x+2 cos 2x; нуль функции; локальный максимум.
x
–
x3
локальный максимум; нуль функции.2 – (4 + x3e –x)/(x – x2 + 1); локальный минимум; нуль функции.
cos (x – 2)/(x + 0,2); нуль функции; локальный максимум.
50 (x + 0,2)2 e –3x – 1 – 0,5; локальный максимум; нуль функции.
/(1,9
+ 1,5x2)
– 1; нуль функции; локальный максимум.
+
e
–x/7
– x3;
локальный максимум; нуль функции.
/
(x2
–
2x
+ 2); нуль функции; локальный максимум.x2 – e2x/x + 14; локальный максимум; нуль функции.
10 e –x/3 ln (x + 1,2) – 5; нуль функции; локальный максимум.
1 –
/(x
– x2
+
3); локальный максимум; нуль функции.
;
локальный минимум; нуль функции.
2x e –x +
локальный максимум; нуль функции.
/(x2
+1); локальный минимум; нуль функции.
e x/5 – 5x2 e –x ln x; локальный максимум; нуль функции.
3x
–
2x2
+
1; локальный максимум; нуль функции.
(x4
–
7x2
+ 11)/7; локальный максимум; нуль функции.
+
e
–x
(x–1)
– x2/5;
локальный максимум; нуль функции.1– ex/5+(1/(x+5) +e –x) ln (x +1); локальный максимум; нуль функции.
1.8. Итерационное вычисление нуля функции F
При решении уравнения F(x) = 0 методом дихотомии переменными являются границы области, в которой находится корень. Исходные границы задают так, чтобы знак функции F на границах был различен. Проверяют знак функции в средней точке x текущей области: точкой x заменяют ту границу, где знак функции такой же. Подобное сокращение вдвое области выполняют многократно, пока ее размер не станет меньше E — допустимой погрешности значения корня. Функция F должна быть непрерывной в области поиска корня.
Совпадение знаков двух величин проверяется просто: только в этом случае произведение величин положительно.
Первые шаги рассмотренного про-цесса показаны на рис. 1.1. На первом шаге заменяется левая граница. Второй шаг приведет к замене правой границы. В цикле реализации шагов требуется ветвление для выбора одной из границ и замены ее. Прогноз числа шагов затруднителен. Обычно мы не знаем число повторений итерационного цикла.
Задание. Найдите корень уравнения F(x) = 0, используя в качестве F(x) заданную формулу из табл. 1.1. Все формулы таковы, что нуль функции F(x) находится между точками a = 0,1 и b = 1.
.
Рис. 1.1



