Контрольная по теории управления - файл n1.doc

Контрольная по теории управления
скачать (325 kb.)
Доступные файлы (1):
n1.doc325kb.20.11.2012 08:14скачать

n1.doc

Задание №1

Вычисление тригонометрических функций методом интерполяции.

Наибольшее распространение получили два метода вычисления тригонометрических функций – метод линейной интерполяции и метод разложения в степенной ряд.

1)Рассмотрим метод линейной интерполяции.

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

y=sin(x), 0 ? x ? ?/2.

Весь интервал изменения аргумента «х» разбивается на «n» равных участков (рис. 1). Значения функции y(xi) (i=1,2,3,…,n) записываются в ячейки запоминающего устройства (ЗУ) и используются для вычисления функции при x ? xi. Для записи значений y(xi) необходимо n+1 ячеек запоминающего устройства. Значение

h=xi+1 – xi (1.1)

называют участком интерполяции. Изменение функции на участке интерполяции представляется участком прямой АВ.



Рис.1

Из подобия треугольников АВС и АДЕ можно получить формулу интерполяционной поправки:

. (1.2)

Значения аргумента «xi» и «xi+1» называют крайними. Вычисление функции по формуле (1.1) производится с ошибкой :

∆ =. (1.3)

Ошибка ∆ обусловлена тем, что изменение функции на участке АВ представлено отрезком. Величина ошибки ∆ зависит от величины участка интерполяции, и чем больше h, тем больше ∆. Если весь интервал изменения аргумента от 0 до ?/2 разбивается на равные участки, то величина ∆, будет зависеть от значения аргумента – чем ближе значение х, в котором рассчитывается значение функции к одному из крайних значений «xi» или «xi+1», тем меньше ошибка вычислений.

а) Определение зависимости ошибки от объёма памяти.

Задана функция sin30,2°. При помощи ПЭВМ вычислим точное значение у0 = sin30,2° = 0,50302.

Далее при различных крайних значениях xi и xi+1 , заданных в таблице №1, найдём приближённое значение функции по формуле (1.2). А так же ошибку вычисления по формуле (1.3). Необходимое количество ячеек памяти q определяется путём деления 90° (по условию изменение аргумента функции 0 ? x ? 90°) на величину участка интерполяции (формула 1.1) и прибавлением к частному единицы:

q=+1.

Т.о. по формуле (1.2) рассчитаем приближённое значение у для участка интерполяции 1 ? x ? 90°:

у1 = sin1° = 0,01745;

y2 = sin90° = 1;

= 0,01745+ (30,2-1) = 0,33981.

Аналогично рассчитаем остальные значения у:

sin10° = 0,17365 ; sin60° = 0,86603 ;

у = 0,45337.

sin15° = 0,25882 ; sin55° = 0,81915 ;

у = 0,47175.

sin28° = 0,46947 ; sin52° = 0,78801 ;

у = 0,49867.

sin29° = 0,48481 ; sin51° = 0,77715 ;

у = 0,50076.

xi

xi+1

h

у0

у



q



90°

89°

0,50302

0,33981

0,1632

2

10°

60°

50°

0,50302

0,45337

0,04965

3

15°

55°

40°

0,50302

0,47175

0,03127

4

28°

52°

24°

0,50302

0,49867

0,00435

5

29°

51°

22°

0,50302

0,50076

0,00226

6

Табл.1

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



Рис.2

На рис.2 наглядно видно, что ошибка вычислений значительно уменьшается при использовании не менее пяти ячеек памяти.

Отсюда же можно сделать вывод, что при расчётах величина участка интерполирования должна быть по возможности минимальной. Таким образом, чтобы обеспечить необходимую точность интерполяции требуется увеличение количества используемых ячеек памяти.

б) Определение зависимости ошибки от значения аргумента функции.

Возьмём фиксированные крайние значения:

xi =5°, xi+1 = 90°.

И при различных значениях аргумента вычислим ошибку. Для чего необходимо найти приближённое значение функции у по формуле (1.2) и точное значение у0 при помощи ПЭВМ. Результаты вычислений занесём таблицу № 2.



30,2°

55,2°

60,2°

65,2°

70,2°

75,2°

80,2°

у

0,35779

0,62628

0,67997

0,73669

0,78737

0,84106

0,89476

у0

0,50302

0,82115

0,86603

0,90778

0,94089

0,96682

0,98541



0,14523

0,19487

0,18606

0,17109

0,15352

0,12576

0,09065

Табл.2

Согласно данным в таблице № 2, построим график зависимости ошибки вычислений от аргумента исследуемой функции.



Рис.3

На рисунке (3) мы видим, что максимальная ошибка вычислений возникает при интерполировании функции приблизительно в середине участка, но стремится к нулю при приближении к крайним значениям аргумента участка. Отсюда можно сделать вывод, что уменьшение участка интерполирования может привести к снижению погрешности.
2) Вычисление тригонометрических функций разложением в ряд Тейлора.

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

sin(x) = (1.4)

При конечном значении членов ряда n вычисление по формуле (1.4) производится с методической ошибкой, равной остаточному члену ряда Rn:

Rn = уо-Sn.

Где Sn сумма ряда.

Из выражения (1.4) видно, что с увеличением числа членов степенного ряда будет возрастать количество операций, следовательно, и время вычислений. Если считать, что время для вычисления sin(x) определено, то для повышения точности вычислений необходимо повысить быстродействие настолько, чтобы за то же время произвести больший объём вычислений.

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

Задана функция sin45,2°. Вычислим точное значение при помощи ПЭВМ:

уо= sin45,2°=0,7095707365.

А также приближённое значение по формуле (1.4). Количество членов ряда и результат вычислений заносим в таблицу № 3. Ошибку вычислений найдём по формуле (1.3). Время вычисления значения функции у по формуле (1.4) определим как:

t = Atвыб + Btумн + Ctслож (1.5)

где tвыб = 0,6 мкс- время выполнения операции выборки из ячейки ЗУ,

tумн = 0,5 мкс- время выполнения операции умножения(деления),

tслож =0,25 мкс- время выполнения операции сложения(вычитания).

Расчёт для ряда в котором N=1 будет выглядеть следующим образом:

х = 45,2°= 0,7889 (рад).

sin(x) =

Для расчёта времени вычислений представим формулу вычисления следующим образом:

sin(x) == х - х*х*х/1/2/3.

Коэффициенты для формулы (1.5):

А=7, В=5, С=1.

Кол-во членов

ряда N

уо

у



t (мкс)

1

0,70957

0,70671

2,86*10-3

6,95

2

0,7095707

0,7096081

3,74*10-5

17,7

3

0,709570737

0,709570371

3,66*10-7

32,85

4

0,7095707365

0,7095707261

1,04*10-8

52,4

5

0,7095707365

0,7095707243

1,22*10-8

76,35

Табл. 3



Рис.4



Рис.5

Из рисунка 4 мы видим, что увеличение числа членов ряда Тейлора приводит к значительному снижению погрешности вычислений. Но на рисунке 5 наглядно показано, что для достижения достаточной точности вычислений требуется существенное увеличение машинного времени.

Вывод:

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

Задание №2

Определение оптимального шага интегрирования.

Если функция f(x) непрерывна на отрезке [a,b] и известна её первообразная F(x), то определённый интеграл от этой функции в пределах от «a» до «b» может быть вычислен по формуле Ньютона-Лейбница:

.

При вычислении интегралов на ЦВМ большое распространение нашли численные методы интегрирования. Большинство из них основано на замене интеграла конечной суммой.

Для вычисления интеграла промежуток от «a» до «b» разбивается на «n» равных частей. Величину называют шагом интегрирования.

Для точек вычисляют значения подынтегральной функции f(x). Затем для составления программы используют одну из следующих формул:

  1. Формула прямоугольников:



Рис.6

(2.1)



  1. Формула трапеций:



Рис.7

(2.2)

3.Формула парабол (Симпсона):



Рис.8

(2.3)

Формулы 2.1-2.3 дают разные по точности результаты. При одинаковом шаге интегрирования более высокую точность можно получить по формуле парабол, меньшую точность результата – при использовании формулы прямоугольников, а формула трапеций даст промежуточный по точности результат.

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

Однако при вычислении интегралов по указанным формулам на ЭВМ с конечной разрядностью повышение точности за счёт уменьшения шага интегрирования возможно только до определённого значения шага. Среднеквадратическое значение результирующей ошибки вычислений определяется выражением:

,

Где - среднеквадратическое значение трансформированной ошибки, которую в дальнейшем будем считать независимой от шага интегрирования;

- среднеквадратическое значение методической ошибки, определяемое выбранным численным методом. Оно зависит от шага интегрирования. Чем меньше h, тем меньше и наоборот;

- среднеквадратическое значение инструментальной ошибки. Для машины с определённой разрядностью сетки зависит от объёма вычислительной работы и определяется числом операций с округлениями. С увеличением объёма вычислений число операций с округлениями возрастает. С уменьшением шага интегрирования объём вычислений по формулам 2.1-2.3 возрастает и, следовательно, возрастает значение .

Т.о. с уменьшением шага интегрирования результирующая ошибка будет уменьшаться, за счёт уменьшения методической ошибки и будет увеличиваться за счёт увеличения инструментальной ошибки. Следовательно, для ЭВМ с определённой разрядностью машинного слова существует некоторый оптимальный шаг интегрирования, при котором результирующая ошибка минимальна (рис 8).



Рис.8

Теперь можно приступить к непосредственному вычислению интеграла с помощью описанных выше методов.

Задан интеграл вида:



Расчёты будем производить по формулам 2.1 – 2.3 при n = 5 и 10.

Время, затраченное на вычисления, будем определять по формуле (1.5).
Вычислим интеграл по формуле Ньютона-Лейбница:

А= = =

=0,00208+0,001375+0,1975= 0,200955.
Далее найдём f() при h = 0,1 и n = 5:

f() = = 0,395; t = 12,2 мкс;

f() = = 0,39503; t = 19,85 мкс;

f() = = 0,395608; t = 29,75 мкс;

f() = = 0,398726; t = 29,75 мкс;

f() = = 0,408824; t = 29,75 мкс.


Подставим полученные значения в формулу (2.1):



? 0,1*(0,395+0,39503+0,395608+0,398726+0,408824) = 0,1993.

tобщ = 123,4 мкс.

Аналогично можно вычислить f() при h = 0,05 и n = 10:



? 0,05*(0,395+0,395002+0,39503+0,395172+0,395608+0,396641+0,398726+

+0,402503+0,408824+0,418784) = 0,200064.

tобщ = 276,4 мкс.

Далее вычислим значение интеграла по формулам (2.2 и 2.3). Результаты вычислений занесём в таблицу №4.


h

Значение А, вычисленное методом


t мкс

прямоуголь-

ников

трапеций

парабол

А



А



А



0,1

0,1993

0,001655

0,204569

0,003614

0,189296

0,018659

123,4

0,05

0,200064

0,000891

0,201033

0,000078

0,200959

0,000004

276,4

Табл.4

Вывод:


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

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

Использование для вычисления одновременно трёх методов позволило исследовать зависимость точности вычислений при их применении.

Таким образом, можно сделать вывод о том, что метод парабол позволяет производить вычисления с максимальной точностью.
Задание №3

Вычисление полиномов.

Пусть задан полином n-й степени:

Р(х) = (3.1)

Где - действительные коэффициенты.

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

Формулу многочлена в общем виде (3.1) можно развернуть:

Р(х) = (3.2)

Схема Горнера получается из формулы (3.2) вынесением за скобки х всюду, где это возможно. Она основывается на следующем представлении полинома:

. (3.3)

Порядок действий при вычислении f (x) определяется скобками в (3.3): сначала умножение () и сложение внутри самой внутренней пары скобок (его результат обозначим через ), затем умножение и сложение внутри следующей пары скобок (результат ) и т.д.:

;







……………..



В конечном итоге получаем:

Р(х) = .
1) В качестве примера произведём вычисление следующих полиномов:

а) Р(х) = ;

б) Р(х) = .

Время, затраченное на вычисление полиномов, найдём по формуле (1.5):

t = Atвыб + Btумн + Ctслож

а) t = 40*0,6 + 34*0,5 + 5*0,25 = 42,25 мкс;

б) t = 20*0,6 + 14*0,5 + 5*0,25 = 20,25 мкс.

Вычислим значение полиномов как сумму произведений:

а) Предположим, что нам задано значение х = 0,1. Р(0,1) == -0,199993797;

б) значение следующего полинома вычислим положив значение х = 0,15:

Р(х) = =-2,169977813.
2) Преобразуем полиномы по схеме Горнера:

а) Р(х) =((((х + 0,2) х - 2) х + 0,4) х + 0,6) - 0,2;

t = 14*0,6 + 8*0,5 + 5*0,25 = 13,65 мкс;

б) Р(х) =((((х - 0,6) х + 2) х + 0,6) х + 1,4) х - 2,4.

t = 10*0,6 + 4*0,5 + 5*0,25 = 9,25 мкс.

Далее произведём вычисления для фиксированных значений х:

а) х = 0,1;

Р(х) =((((0,1 + 0,2) 0,1 - 2) 0,1 + 0,4) 0,1 + 0,6) - 0,2 =

= -0,199993797;

б) х = 0,15;

Р(х) =((((0,15 - 0,6) 0,15 + 2) 0,15 + 0,6) 0,15 + 1,4) 0,15 - 2,4 =

= -2,169977813.


Вывод:

Способ вычисления по схеме Горнера имеет два преимущества.

Первое - очевидное: минимизируется количество арифметических операций. Действительно, для вычисления значения полинома степени n по схеме Горнера требуется n сложений и n-1 умножений. При вычислении же по формуле (3.2) потребуется n сложений и 3n-1 умножений.

Второе - совсем не очевидное: при вычислении по схеме Горнера существенно уменьшается вычислительная погрешность, т.к. уже было сказано выше, для машины с определённой разрядностью сетки среднеквадратическое значение инструментальной ошибки зависит от объёма вычислительной работы и определяется числом операций с округлениями. С увеличением объёма вычислений число операций с округлениями возрастает.



Учебный материал
© bib.convdocs.org
При копировании укажите ссылку.
обратиться к администрации