Съдържание
Серия Тейлър е представянето на функция чрез безкрайна сума. Компютрите обикновено приближават стойностите на тригонометрична, експоненциална или друга трансцедентална функция посредством краен брой термини в съответната серия Тейлър и можете да пресъздадете този процес в Python. Условията на сумата се основават на последователни производни на функцията и затова трябва да идентифицирате модел в техните стойности, за да напишете формула за всеки термин в серията. След това ще използвате цикъл, за да натрупате сумата, контролирайки точността на сближаването с броя на повторенията.
инструкции
Приближете серия Тейлър в Python (Hemera Technologies / AbleStock.com / Getty Images)-
Обърнете се към дефиницията на серията Тейлър, за да разберете как може да се изчисли всеки термин. Всяка от тях се индексира, обикновено с "n", а нейната стойност се отнася до производна на "n" реда на функцията, която ще бъде представена. За простота използвайте 0 за стойността на "а" при първия си опит. Тази специална версия на серията Тейлър се нарича "серия MacLaurin". Използвайте функцията "синус", тъй като последователните производни са лесни за определяне.
-
Напишете няколко стойности на производната "n" на функцията синус, оценена на 0. Ако "n" е равна на 0, стойността ще бъде 0. За n = 1 стойността ще бъде 1. В случай, че n = 2, стойността ще бъде 0. Когато n = 3, стойността ще бъде -1. Моделът се повтаря оттук, така че можете да елиминирате всички четни номера в серията Тейлър, тъй като той ще бъде умножен по 0. Формулата за всеки термин в получената серия ще бъде:
(1n) 2n + (2n + 1)
Ако "2n + 1" се използва вместо "n" за повторно индексиране на серията, ефективно елиминирайки дори термините на индексите, без да променят самите индекси. Коефициентът "(-1) ^ n" позволява да се промени знакът на последователните термини. Този урок по математика може да изглежда странно, но кодът на Python ще бъде много по-лесен за писане и повторно използване в други серии, ако индексът винаги започва от 0 и се увеличава с 1.
-
Отворете интерпретатора на Python. Започнете, като въведете следните команди за определяне на променливите:
сума = 0x = .5236
Сумарната променлива ще се използва за натрупване на сумата от серията Тейлър с всяка итерация на изчислението на термина. Променливата "x" е ъгълът (в радиани), към който искате да приближите функцията на синуса. Задайте друга стойност, ако искате.
-
Импортирайте модула "math", като използвате командата по-долу, за да получите достъп до функциите "pow" (мощност) и "факториал" (факториал):
математика за внос
-
Отворете цикъла "за", установявайки количеството взаимодействия с функцията "диапазон":
за n в обхват (4):
Това ще предизвика индексната променлива, n, да започне от 0 и да се увеличи до 4. Това намалено количество повторения ще предизвика изненадващо точен резултат. Цикълът няма да се изпълни незабавно и няма да се стартира, докато не зададете блок от код за повторение.
-
Въведете следната команда, за да натрупате стойността на всеки следващ термин към променливата "sum":
sum + = math.pow (-1, n) / математически фактор (2n + 1)math.pow (x, 2 * n + 1)
Командата трябва да има интервал преди да покаже на Python, че е част от цикъла "за". Забележете също, че функциите "pow" и "factorial" се използват вместо "^" и "!" Нотация. Формулата вдясно от оператора на присвояване "+ =" е идентична с тази на стъпка 2, но е написана с Python синтаксис.
-
Натиснете "Enter", за да добавите празен ред. Python ще интерпретира това като край на цикъла "за" и ще извърши изчисленията. Въведете командата "sum", за да разкриете резултата. За стойността на "x", дадена в стъпка 3, резултатът ще бъде много близък до .5, синусоидната стойност на pi / 6. Опитайте отново с различни стойности за "x" и за различен брой повторения на цикъла и сравнете резултатите с функцията "math.sin (x)". Току-що внедрихте в Python същия процес, който много компютри използват за изчисляване на стойности за синус и други трансцедентални функции.
съвети
- Оставете интервал и въведете командата "sum" във втория ред на цикъла "за", така че да се покаже резултатът от изпълнението на кода. Това ще покаже как всеки следващ термин в серията приближава плюс и минус на действителната стойност на функцията.