Как да напишем серия Тейлър с Python

Автор: Christy White
Дата На Създаване: 12 Може 2021
Дата На Актуализиране: 10 Ноември 2024
Anonim
Python с нуля. Урок 9 | Файлы и исключения
Видео: Python с нуля. Урок 9 | Файлы и исключения

Съдържание

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


инструкции

Приближете серия Тейлър в Python (Hemera Technologies / AbleStock.com / Getty Images)
  1. Обърнете се към дефиницията на серията Тейлър, за да разберете как може да се изчисли всеки термин. Всяка от тях се индексира, обикновено с "n", а нейната стойност се отнася до производна на "n" реда на функцията, която ще бъде представена. За простота използвайте 0 за стойността на "а" при първия си опит. Тази специална версия на серията Тейлър се нарича "серия MacLaurin". Използвайте функцията "синус", тъй като последователните производни са лесни за определяне.

  2. Напишете няколко стойности на производната "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.

  3. Отворете интерпретатора на Python. Започнете, като въведете следните команди за определяне на променливите:

    сума = 0x = .5236

    Сумарната променлива ще се използва за натрупване на сумата от серията Тейлър с всяка итерация на изчислението на термина. Променливата "x" е ъгълът (в радиани), към който искате да приближите функцията на синуса. Задайте друга стойност, ако искате.

  4. Импортирайте модула "math", като използвате командата по-долу, за да получите достъп до функциите "pow" (мощност) и "факториал" (факториал):


    математика за внос

  5. Отворете цикъла "за", установявайки количеството взаимодействия с функцията "диапазон":

    за n в обхват (4):

    Това ще предизвика индексната променлива, n, да започне от 0 и да се увеличи до 4. Това намалено количество повторения ще предизвика изненадващо точен резултат. Цикълът няма да се изпълни незабавно и няма да се стартира, докато не зададете блок от код за повторение.

  6. Въведете следната команда, за да натрупате стойността на всеки следващ термин към променливата "sum":

    sum + = math.pow (-1, n) / математически фактор (2n + 1)math.pow (x, 2 * n + 1)

    Командата трябва да има интервал преди да покаже на Python, че е част от цикъла "за". Забележете също, че функциите "pow" и "factorial" се използват вместо "^" и "!" Нотация. Формулата вдясно от оператора на присвояване "+ =" е идентична с тази на стъпка 2, но е написана с Python синтаксис.

  7. Натиснете "Enter", за да добавите празен ред. Python ще интерпретира това като край на цикъла "за" и ще извърши изчисленията. Въведете командата "sum", за да разкриете резултата. За стойността на "x", дадена в стъпка 3, резултатът ще бъде много близък до .5, синусоидната стойност на pi / 6. Опитайте отново с различни стойности за "x" и за различен брой повторения на цикъла и сравнете резултатите с функцията "math.sin (x)". Току-що внедрихте в Python същия процес, който много компютри използват за изчисляване на стойности за синус и други трансцедентални функции.

съвети

  • Оставете интервал и въведете командата "sum" във втория ред на цикъла "за", така че да се покаже резултатът от изпълнението на кода. Това ще покаже как всеки следващ термин в серията приближава плюс и минус на действителната стойност на функцията.