Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Информатика

.pdf
Скачиваний:
24
Добавлен:
03.05.2015
Размер:
3.59 Mб
Скачать

171

Min3(f, g, x, h, ) := n

← 1, x2 ← x, g2 ← g(x)

g1

← g2, h

← - |h| sign(g2)

while g1 g2 > 0

 

 

x1 ← x2, g1 ← g2, h ← 1.2 h

 

 

 

 

x2 ← x2 + h, g2 ← g(x2), n ← n + 1

y1

← f(x1), y2 ← f(x2), n ← n + 2

while |g1 - g2| > 0.1

 

 

x ← g2

x2 - g1 x1 + y1 - y2

 

 

 

 

 

 

g2 - g1

 

 

x ← 0.5

(x1 + x2) if (x2 - x) (x - x1) 0

 

 

gx ← g(x), n ← n + 2

 

 

if g1 g2 > 0

 

 

 

x1 ← x, g1 ← gx, y1 ← f(x)

 

 

otherwise

 

 

 

 

x2 ← x, g2 ← gx, y2 ← f(x)

 

 

 

x

g(x)

n

В условиях предыдущего примера получаем:

f(x) :=

x 4

+ 1

 

g(x) :=

d

f(x) x := 5 h := 1 := 10 - 5

x

2

+ 1

dx

 

 

 

 

 

 

- 1

 

- 1

 

Min2(g, x, h, ) =

- 2.296 10

- 6

Min3(f, g, x, h, ) =

0

.

 

 

32

 

 

 

 

 

 

 

 

46

Заметим, что если в двух соседних точках известны значения функции и ее производных, то по этой информации можно построить кубический многочлен, минимальное (или максимальное) значение которого найти совсем просто. Это значение можно взять в качестве отправной точки для последующих действий (постройте соответствующий алго-

ритм в качестве упражнения).

6.2.5.2. Функции многих переменных 6.2.5.2.1 Задачи без ограничений. Без использования производных

самыми простыми, по-видимому, являются два метода (и их модификации):

а) покоординатный спуск к точке минимума; б) случайный поиск.

Спуск по координатам встречается в двух главных модификациях: перебор всех координат с попыткой подвинуться по каждой к точке минимума на некоторый фиксированный шаг, шаг уменьшается, если попытки неудачны по всем координатам, иначе шаг можно увеличить (процесс продолжается, пока длина шага не станет меньше заданного уровня); вторая модификация требует одномерной минимизации вдоль каждой координаты поочередно. Практика показывает, что с то-

172

чки зрения вычислительных затрат обе эти модификации мало различимы. Обе модификации строят в пространстве последовательность точек, весьма медленно сходящуюся к точке экстремума, но для гладких унимодальных (т. е. с одним экстремумом) функций приводят к вполне удовлетворительному результату

Случайный поиск организуется следующим образом: в окрестности исходной точки (старта) выбираются случайные точки, равномерно распределенные в некотором параллелепипеде (часто их количество ограничивают некоторым числом), среди них выбирается точка с минимальным значением функции и эта точка теперь берется в качестве стартовой. Диаметр параллелепипеда может уменьшаться, если новая точка оказывается ближе к центру параллелепипеда, чем к его границе. Процесс заканчивается, когда диаметр параллелепипеда станет меньше заданного значения.

С использованием производных можно применить теорему Ферма, решая систему уравнений DF(x) = 0, или реализовать метод наискорейшего спуска, метод сопряженных направлений и их различные модификации. Познакомимся кратко с первым. Так как производ-

ная функции f:

n

∂f

,

 

∂f

, ... ,

∂f

 

определяет вектор Df =

 

 

 

 

как

 

 

∂x 1

 

 

 

 

∂x 0

 

 

∂x n

направление наибольшего возрастания функции, то естественно двигаться к точке минимума в противоположном направлении. Ради экономии вычислений движение в выбранном направлении осуществляется до тех пор, пока функция не перестанет убывать. Тогда находится новое направление и процесс повторяется пока перемещение больше заданного уровня чувствительности. Если D(x) - вектор частных производных функции f, то процедуру поиска минимума можно оформить в виде кода:

Min4(D, x, e) := d ← 1, k ← 0

while (d > e) (k < 500) y ← x, k ← k + 1

h ← D(x), t ← 0

t ← root(D(x - t h) h, t) x ← x - t h, d ← |y - x|

x

Производную можно вычислить непосредственно, с помощью оператора градиента (меню анализа), случайным поиском, либо с помощью программы-функции (пример 20 п. 6.1).

6.2.5.2.2. Задачи с ограничениями. При наличии ограничений популярен метод штрафов, в котором к целевой функции добавляется слагаемое, равное нулю при выполнении ограничений или принимающее большое значение (в задаче минимизации), когда хоть одно ограничение не выполняется (это – штраф). Например, при ограничении

173

P(x) = 0 эта добавка имеет вид λP(x)2, а при ограничениях Q(x) ≤ 0 добавляется "срезка" λQ(x)2+ = λ∙max(0, Q(x))2. Выбирается некоторая возрастающая последовательность значений λ (например, λi = 10λi-1,

i) и при каждом λ решается задача минимизации без ограничений с предыдущим результатом в качестве начального значения.

 

 

x3 - x2 → min

Пример

2. Найдем решение задачи

|x| = 3

в блоке Given

 

 

 

 

 

 

x2+x3 ≤ 0

 

– Minimize

и методом штрафов. Обозначим f(x) =

x3 - x2, φ1(x) =

x12 + x22 + x32 - 3, φ2(x) = x2 + x3 и возьмем начальную точку х = (1, 1, 1)Т. В блоке Given – Minimise получим решение:

Given φ1(х) = 0

φ2(х) ≤ 0

z : = Minimize(f,x)

zT = (3.984×10-4 2.081 -2.161) f(z) = -4.253.

Возьмем теперь λ=1, у = х (начальное значение) и выполним несколько однотипных вычислений с функцией штрафа F(x):

x: =y

λ: =10∙λ

F(x) : = f(x) + λ∙(φ1(x)2 + if(φ2(x) ≤ 0,0,φ1(x)2)

y: = Minimize(F,x)

λ = 10

yT = (0.019 2.162

-2.181)

x: =y

λ: =10∙λ

F(x) : = f(x) + λ∙(φ1(x)2 + if(φ2(x) ≤ 0,0,φ1(x)2)

y: = Minimize(F,x)

λ = 100

yT = (4.709×10-3

2.122 -2.131)

x: =y

λ: =10∙λ

F(x) : = f(x) + λ∙(φ1(x)2 + if(φ2(x) ≤ 0,0,φ1(x)2)

y: = Minimize(F,x)

λ = 1000

yT = (4.709×10-3

2.122 -2.121)

f(y) = -4.243.

 

 

 

 

Получился несколько худший результат, но быстрее, поскольку задачи без ограничений решаются проще. Здесь прослеживается правило: выгоднее, если возможно, задачу разбить на последовательность более простых и легче решаемых задач.

6.2.6. Pазностная модель и прогноз

Mcd имеет много функций для обработки опытных данных (около 20 функций в разделе Curve Fitting and Smoothing – приближение и сглаживание, семь функций в разделе Interpolation and Prediction – интерполяция и прогноз, около 60 функций в разделе Signal Processing – обработка сигналов, и др. – полный обзор см. в справочной литературе). Здесь будет кратко рассмотрен вопрос об использовании модели авторегресси (порядка р > 0) временнóго ряда

p

zi (i = 0, 1, 2, ...) вида zk+1= i zk+1-i + (зависимость наблюдаемых

i = 1

значений от предыдущих), где коэффициенты i, (при некоторых ограничениях на zi) находятся из условий

 

 

174

n - 1

p

 

(z k + 1 -

i z k + 1 - i - ) 2 → min .

k = p

i =

1

Пусть фиксированы n, p, положим i := 0 .. n - 1, j := 0 . . n - p - 1,

 

z j + p - k - 1

if k < p

, bj := zj + p.

k := 0 .. p, сформируем матрицы A j,k :=

1 otherwise

 

 

Тогда вектор искомых коэффициентов находится функцией Geninv (обобщенная обратная матрица): s = Geninv(A) b (или minerr).

Для того, чтобы построить непрерывную модель, решим разнос-

p - 1

тные соотношения z k + 1 = s i z k - i + s p (k p - 1) в терминах пока-

i = 0

зательных функций - степеней корней характеристического уравнения

p - 1

r p = s i r p - i - 1. Если {r i} - корни характеристического уравнения, то

i = 0

 

p - 1

 

коэффициенты c i (i = 0, ..., p) представления z k*

ci r ik + c p мож-

i = 0

 

n - 1

но получить из условия (z i - z i*) 2 → min (подробнее – см. пример).

i = 0

Пример. Рассмотрим кубическую параболу у(х) = 10 х (х - 1) (х - 2),

заданную в 20 точках промежутка [0, 2] своими значениями, возмущенными равномерным "шумом", построим дискретную модель 3- го порядка, построим прогноз последних пяти значений по предыдущим точкам и, наконец, создадим непрерывную модель процесса.

n := 20 p := 3 (порядок модели)

h := 2

i := 0 . . n x i := i h

 

 

n

 

y i := 10 x i (x i - 1) (x i - 2)

m := 5

(число точек прогноза)

z i := y i + rnd(2) - 1

(равномерная помеха процессу)

Подготовка к вычислению коэффициентов дискретной модели:

j := 0 . . n - p - 1

k := 0 . . p A j,k := if (k < p,

z j + p - k - 1

, 1) b j := z j + p

s := geninv(A) b

s T = (1.121034 0.268413 - 0.562349

- 1.404969 10 - 3)

 

(коэффициенты разностной модели)

 

 

 

 

 

 

p - 1

 

 

 

zp := z

v := n - m . . n - 1

zp v :=

s t zp v - t - 1 + s p (прогноз)

 

 

 

 

t = 0

 

 

 

 

Построение непрерывной модели:

 

a k := if

(k = p, 1, - s p - k - 1)

(коэффициенты характеристического многочлена)

a T = (0.562349

- 0.268413

- 1.121034

1)

r := polyroot(a)

r T = (- 0.645313

0.883174 - 0.302389i

0.883174 + 0.302389i) (корни многочлена)

d := | r 2 | d = 0.933507 := angle(Re(r 1), | Im(r 1) |)

 

(модуль и аргумент комплексного корня)

 

 

 

 

175

 

 

 

B i, k :=

(r 0) i if k = 0

 

c := geninv(B) z

 

 

 

(d i cos(i ))

if k = 1

 

 

 

 

 

(d i sin(i ))

if k = 2

 

 

 

 

 

1 otherwise

 

 

 

 

 

 

 

c T = (0.321843 -1.462531 7.331131 -0.841310)

 

(коэффициенты непрерывной модели)

 

 

 

 

 

t

t

 

 

 

 

f(t) := c 0 (| r 0 |)h cos t + d h

(c 1 cos t + c 2 sin

t ) + c 3

 

 

 

h

h

 

h

 

 

 

(непрерывная модель)

 

 

Результаты можно сравнить на графике (рис. 68):

 

 

 

5

 

 

 

 

 

5

 

 

 

 

 

 

 

3

 

 

 

 

 

zi

 

 

 

 

 

 

zp i

1

 

 

 

 

 

y i

1

 

 

 

 

 

 

 

 

 

 

 

f ( t )

 

 

 

 

 

 

 

3

 

 

 

 

 

5

5

 

 

 

 

 

 

0

0.4

0.8

1.2

1.6

2

 

0

 

x i x i x i t

 

 

2

 

 

 

Рис. 67

 

 

 

В пакете Mcad имеется специальная функция predict, позволя-

ющая построить недлинный прогноз по последним значениям времен-

ного ряда. Сравним последние значения ряда z, прогнозируемые с по-

мощью разностной модели zp, соответствующие значения "чистого"

ряда y и

значения, полученные функцией predict(z, n-5, 5) (табл. 14):

 

 

 

 

Таблица 14

 

y

- 3.75

- 3.84

- 3.57

- 2.88

- 1.71

 

 

 

 

 

 

z

- 4.5328

- 3.1776

- 4.2602

- 3.7213

- 1.4280

 

 

 

 

 

 

zp

- 4.1445

- 3.9104

- 3.3896

- 2.5203

- 1.5375

 

 

 

 

 

 

predict

- 1.2452

0.6200

2.7957

2.0844

3.0793

 

 

 

 

 

 

Можно заметить, что встроенная функция возвращает не лучший результат.

Приведенные вычислительные примеры отнюдь не отменяют встроенного аппарата, но показывают, что внимательное и осмысленное его использование совершенно необходимо.

176

Задания

Контрольные вопросы

1.Информация, свойства.

2.Данные, сбор, формализация, фильтрация, хранение, кодирование, защита.

3.Кодирование числовых, текстовых, графических данных.

4.Структура данных.

5.Состав вычислительной системы.

6.Системы счисления, переход от одних систем к другим.

7.Автоматическая обработка данных: блок-схема, алгоритм, программа.

8.Структура языка. Операторы ввода, вывода.

9.Типы данных. Определение, преобразование типов, пользовательские типы.

10.Обработка строк.

11.Операторы разветвления и альтернативного выбора.

12.Операторы циклов.

13.Массивы данных. Обработка и преобразование массивов.

14.Функции и подпрограммы, внутренние подпрограммы. 15.Файлы данных. Типы файлов. Организация файлов данных. 16.Программирование работы с графическими объектами. 17.Создание интерфейса. Формы, элементы управления. 18.Массивы и циклы в VBA.

19.Модули, функции, подпрограммы, макросы.

20.Настройка, редактирование текста в Word. Вставка объектов. 21.Использование макросов и элементов управления в Word. 22.Обработка таблиц в Word, формулы, макросы. 23.Автоматическое создание макросов. Программирование

графических объектов.

24.Вставка "нестандартных" элементов текста. Математические формулы.

25.Нестандартное форматирование элементов текста. Создание логотипов.

26.Ссылки, закладки, их использование.

27.Excel. Настройка. Надстройки. Формирование меню. 28.Работа с ячейками листа в Excel, вставка, удаление, изменение

размеров и свойств.

29.Вставка графических объектов и диаграмм.

30.Модули, макросы, элементы управления в Excel. 31.Использование форм и макросов для обработки таблиц в Excel.

177

32.Связанные таблицы. Базы данных.

33.Математические вычисления в Excel, решение задач.

34.СУБД на основе Access. Способы создания таблиц.

35.Задачи, решаемые в MS Access.

36.Способы создания объектов БД.

37.MathCad: структура, настройка, интерфейс, меню. 38.Отличительные особенности языка MathCad от VB. 39.Определение индексированных объектов. Операции над

векторами и матрицами.

40.Функции пользователя, создание и использование, рекурсии. 41.Обработка условий в MathCad.

42.Реализация циклических вычислений в MathCad.

43.Вычисление бесконечных сумм и произведений.

44.Встроенные функции символьных вычислений, их использование.

45.Вычисление пределов, определенных интегралов.

46.Типы графиков. Использование.

47.Операции и функции решения нелинейных уравнений и систем. 48.Решение СЛАУ. Обобщенное решение.

49.Неопределенные СЛАУ. Выбор решения.

50.Итерационное уточнение решения СЛАУ.

51.Решение задачи Коши для ОДУ в MathCad.

52.Решение нормальных СОДУ с начальными условиями. Приведение ОДУ n-го порядка к нормальной СОДУ.

53.Жесткие СОДУ, решение в MathCad.

54.Решение двухточечных краевых задач для ОДУ.

55.Метод наименьших квадратов, функция Minerr.

Контрольные задачи

1.Составить блок-схему решения квадратного уравнения (входные данные – коэффициенты уравнения).

2.Составить блок-схему решения кубического уравнения с целыми коэффициентами, если известно, что один из корней – целое число.

3.Для произвольного введенного числа х вывести на экран монитора

 

3

 

sin x +

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значение выражения

 

 

2 + |lg| x||

, имея при этом в виду,

 

 

 

 

 

-

 

1

 

 

 

 

 

 

 

 

 

 

 

 

x2

+ 1

 

 

 

 

 

 

e

 

(cos x + arctg x)

 

что для логарифма, показателя и арктангенса х – произвольное десятичное число, а для синуса и косинуса это градусная мера угла.

4. Ввести произвольное натуральное четырехзначное число, получить

178

три числа, образуемые из введенного циклической перестановкой цифр, сложить все четыре числа и поделить результат на сумму цифр введенного числа. Объяснить результат.

5.Для заданного натурального n найти наименьшее основание p системы счисления, в которой запись числа симметрична.

6.Проверить, что разность любого натурального числа и суммы его цифр делится на 9.

7. Составить программу с полным анализом корней квадратного уравнения в зависимости от его коэффициентов.

8. Вводится произвольный текст, содержащий целые числа (со знаками), разделенные произвольными символами. Найти сумму этих чисел.

9. Пусть ta – строка двоичного представления натурального числа а.

Для чисел а и b определим строку ta#b = ta & tb. Найти a#b.

10. Произвольную строку нулей и единиц представить как последовательность ASCII-кодов. Вывести соответствующий текст на экран.

11. Вводится натуральное число n. Вырабатывается последовательность n случайных чисел, равномерно распределенных на произвольном промежутке. Назовем "горкой" число в этой последовательности, которое больше своих непосредственных соседей слева и справа. Составить программу, не использующую массивы, выводящую на экран монитора все члены последовательности чисел, выделяя цветом "горки". Посчитать количество "горок". Как изменится программа, если учитывать не по одному соседу слева и справа, а по два или по три?

12.Вводится натуральное число n. Заполнить квадратный n×n – массив числами натурального ряда "змейкой": в строках с нечетными номерами естественный порядок следования слева направо, в строках с четными номерами порядок обратный. Например, 4×4

 

1

2

3

4

 

8

7

6

5

массив должен быть заполнен следующим образом:

9

10

11

12 .

 

16

15

14

13

13.Организовать вывод грамматически согласованной фразы о сроке

вn месяцев для произвольного натурального n (например, 2 месяца, 15 месяцев, и т.д.).

14. Целые числа х, у занимают в памяти 2n байт каждое и записаны в массивах x(n), y(n) As Long. Составить программу сложения и вычитания этих чисел. Организовать вывод результата на экран.

15. Вводится произвольный текст. Вывести все слова текста (без знаков препинания) в алфавитном порядке (первая буква каждого слова прописная).

16. Составить блок-схему решения следующей задачи: в заданной ма-

179

трице А найти все пары похожих строк (два множества назовем похожими, если они различаются лишь расположением элементов).

17. По заданному натуральному n создать массив натуральных чисел (1, 2, ..., n). Каждое обращение к программе выбрасывает из массива к-е по (круговому) счету число и выдает его на экран. При выдаче последнего – сообщение: "Конец работы".

18. Массив элементов (текст, случайное число) упорядочить по убыванию чисел.

19. Построить программу, вычисляющую "диаметр" массива, равный разности между максимальным и минимальным значением элементов.

20. Для произвольной прямоугольной таблицы чисел решить, имеет ли она седловую точку: max min Ai,j = min max Ai,j = r. Если имеет,

i

j

j

i

выдать значения r, i, j, иначе - сообщение: "Седловой точки нет". 21. Прямоугольный массив неотрицательных чисел содержит произвольные (случайные) веса частиц. Самая тяжелая частица распадается, распределяя свою массу между остальными. Найти поло-

жение в массиве последней частицы.

22.Одномерные массивы А и В одинаково упорядочены. Объединить массивы, сохраняя порядок.

23. Пара действительных чисел (х, у) представляет собой комплексное число. Написать программу умножения и деления двух комплекcных чисел.

24. Для матрицы А = (Ai,j) найти норму ||A|| = max ∑ j |Ai,j|.

i

25. Массив М = {mk: k = 0, ..., n} упорядочен по возрастанию. Для произвольного х найти номер k позиции в массиве такой, что

mk ≤ x ≤ mk+1 или x (m0, mn).

26. Написать программу возведения действительного числа в натуральную степень, используя рекурсивный "индийский алгоритм":

nx, если n = 1,

x = xn mod 2∙(x[n/2])2, если n > 1. Здесь [∙] – целаая часть числа.

27.Заданы 4 точки М1, …, М4 в пространстве, не лежащие в одной плоскости, как вершины тетраэдра. Для произвольной точки Х пространства решить, находится ли она внутри тетраэдра (в этом

случае Х = ∑k=14 αkMk, ∑k=14 αk = 1, все αk (0,1)).

28. Проверить формулы (до 5-го десятичного знака):

 

 

 

 

1 x-1

2n-1

 

 

 

 

 

 

1)

ln( x) = ∑

 

 

 

 

 

, x > 0,

 

 

 

 

 

 

n=1

2n-1 x+1

 

 

 

 

 

 

n

 

 

 

2)

- ln(1-x) = ∑ n=1

xn , x < 1,

 

 

 

 

 

 

 

 

 

cos(2nx)

 

3)

- ln|sin(x)| = ln(2) + ∑

 

, 0 < x < π,

 

 

 

 

 

 

 

n=1

n

 

180

4) ax = 1 + ∑

(x∙ln(a))n

,

n=1

n!

 

n x2n+1

5)sin(x) = ∑ n=0 (-1) (2n+1)! ,

n x2n

6)cos(x) = ∑ n=0 (-1) (2n)! ,

 

 

 

 

 

 

 

7)

x = 2∙∑ (-1)n-1 sin(nx) , -π < x < π,

 

n=1

 

 

 

n

 

 

 

 

 

x2

 

 

8)

sin(x) = x П

1 -

 

,

 

2 2

 

 

n=1

 

 

n π

 

 

 

1 -

 

2

 

,

9)

cos(x) = П

 

4x

 

2 2

 

n=1

 

 

(2n-1)

π

 

n x2n+1

10)arctg(x) = ∑ n=0 (-1) 2n+1 ,

 

ex

+ e-x

 

 

x2n

 

 

 

 

 

 

 

 

 

 

11)

 

2

 

= ∑ n=0

 

,

 

 

 

 

 

 

 

 

ex

 

(2n)!

 

 

 

 

 

 

 

 

- e-x

 

 

 

x2n+1

 

 

 

 

 

 

 

12)

 

2

 

= ∑ n=0

 

,

 

 

 

 

 

 

 

 

 

(2n+1)!

 

 

 

 

 

 

 

 

2

π

 

 

cos((2n+1)x)

 

 

 

 

 

 

π

 

 

 

 

 

 

 

 

 

 

13)

8

-

4 |x| = ∑ n=1

(2n+1)2

 

, |x| < 1,

 

1

 

 

1+x

 

 

1

 

 

 

 

 

 

 

 

 

x4n+1

 

14)

4

ln

 

 

+

2

arctg(x) = ∑

 

 

4n+1

, -1 < x < 1,

 

 

 

1-x

 

 

 

 

 

 

 

 

 

n=0

 

15)

(1+2x2)ex2 = ∑

 

(2n+1)x2n ,

 

 

 

 

 

 

 

 

 

 

 

 

n=0 n!

 

 

 

 

 

 

16)

1

π2

2

= ∑

(-1)

n cos(nx)

, 0.2π ≤ x ≤ π.

4

 

 

- x

 

n=1

 

n

2

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

29.Определить тип переменной Person, содержащий фамилию, пол, возраст, рост, вес, зарплату, количество детей и семизначный телефон. Определить массив из 10 – 15 переменных указанного типа. Элементы массива заполнить следующим образом: фамилии ввести с клавиатуры, возраст (> 20 лет), рост (> 100 см.), количество детей, зарплату и телефон (> 999999) определить случайным образом (функцией RND). Вес задать формулой: вес (кг) = рост (см) – 80. Вывести содержимое полученного массива, упорядочить мас-

сив по содержимому одного из указанных полей типа (по фамилии

– алфавитный порядок, по возрасту, весу и т. д. – в порядке возрастания).

30. Вычислить пределы или определить, что предела не существует:

 

 

2sin2(x) + sin(x) -1

 

 

 

x2-1

x+1

 

1)

lim

,

2)

lim

x-1

,

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

2sin

(x)-3sin(x) +1

2

 

 

 

 

π

 

 

 

x→∞

x

+1

 

 

 

 

 

x→ 6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

π

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

sin x -

 

 

 

3)

lim

 

cos(x) -

 

cos(x)

,

 

4)

lim

 

 

 

 

3

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

sin2(x)

 

 

1 - 2cos(x)

 

x→ 0

 

 

 

 

 

x→ π

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3