1. камеры
  2. Аудио & Электроника автомобиля
  3. Главная Аудио
  4. Личная Аудио
  5. телевизоры
  6. Умный дом
  >> Россия Электронный Технологии >  >> Умный дом >> Умная жизнь

Как написать ряд Тейлора в Python

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

Шаг 1

Обратитесь к определению ряда Тейлора, чтобы понять, как можно вычислить каждый член. Каждый член ряда индексируется, как правило, «n», и его значение связано с n-й производной представляемой функции. Для простоты используйте 0 вместо значения «a» при первой попытке. Эта специальная версия серии Тейлора называется серией Маклорена. Попробуйте функцию синуса, так как ее последовательные производные легко определить.

Шаг 2

Запишите несколько значений n-й производной функции синуса, оцененной как 0. Если n равно 0, значение равно 0. Если n равно 1, значение равно 1. Если n равно 2, значение равно 0. Если n равно 3 , значение равно -1. Отсюда шаблон повторяется, поэтому не принимайте во внимание каждый член ряда Тейлора с четным индексом, поскольку он умножается на 0. Формула для каждого члена результирующего ряда:

(-1)^n/(2n+1)!*x^(2n+1)

«2n+1» используется вместо «n» для переиндексации ряда, эффективно отбрасывая члены с четным индексом без изменения самого индекса. Фактор (-1)^n учитывает чередование положительных и отрицательных последовательных членов. Эта предварительная математическая работа может показаться излишней, но код Python будет намного проще писать и повторно использовать в других сериях Тейлора, если индекс всегда начинается с 0 и увеличивается с шагом 1.

Шаг 3

Откройте интерпретатор Python. Начните с ввода следующих команд для определения нескольких переменных:

сумма =0 x =0,5236

Переменная «сумма» будет использоваться для накопления суммы ряда Тейлора при вычислении каждого члена. Переменная «x» — это угол (в радианах), для которого вы хотите аппроксимировать синусоидальную функцию. Установите его на свое усмотрение.

Шаг 4

Импортируйте модуль «math» с помощью следующей команды, чтобы у вас был доступ к функциям «pow» и «factorial»:

импортировать математику

Шаг 5

Запустите цикл for, задав количество итераций с помощью функции range:

для n в диапазоне (4):

Это приведет к тому, что индексная переменная n будет начинаться с нуля и считать до 4. Даже это небольшое количество итераций даст удивительно точный результат. Цикл не выполняется немедленно и не начнется, пока вы не укажете весь блок кода для повторения.

Шаг 6

Введите следующую команду, чтобы добавить значение каждого последующего термина к «сумме:»

sum += math.pow(-1,n)/math.factorial(2*n+1)*math.pow(x,2*n+1)

Обратите внимание, что перед командой стоит табуляция, которая указывает Python, что она является частью цикла for. Также обратите внимание, как «pow» и «factorial» используются вместо «^» и «!» обозначение. Формула справа от оператора присваивания "+=" идентична формуле на шаге 2, но написана с использованием синтаксиса Python.

Шаг 7

Нажмите «Enter», чтобы добавить пустую строку. Для Python это указывает на завершение цикла for, поэтому вычисление выполняется. Введите команду «сумма», чтобы показать результат. Если вы использовали значение x, указанное в шаге 3, результат будет очень близок к 0,5, синусу пи/6. Попробуйте повторить процесс для других значений x и для другого количества итераций цикла, сравнив свои результаты с функцией «math.sin(x)». Вы реализовали на Python тот самый процесс, который многие компьютеры используют для вычисления значений синуса и других трансцендентных функций.

Совет

Сделайте отступ и введите команду «сумма» во второй строке цикла «для», чтобы получить промежуточную сумму суммы по мере выполнения кода. Это показывает, как каждый последующий член ряда приближает сумму к фактическому значению функции.


  1. Как открыть файл в Python
  2. Как компилировать код Python
  3. Как создать массив в Python
  4. Как читать и записывать файлы в Python
  5. Как написать цифры в фотошопе