Дедлайн: 22 февраля, 23:59 Формат сдачи: ipynb-файл или py-файл с решением задач нужно загрузить на Dropbox по ссылке.
Multilivel option: если вы планируете для подстраховки выполнить часть базового домашнего задания 1, сделайте из него: 1) любые четыре задачи по 1 баллу или 2) две задачи по одному баллу, одну на 2 балла. При правильном выполнении базовых задач у вас в запасе будет 7 баллов из 10 (оценка 7), остальные баллы добавятся за счёт решённых задач из продвинутой части.
Познакомьтесь с кратким обзором функционала библиотеки SymPy
и выполните следующие задания.
Упростите выражения или раскройте скобки. Если выражение содержит тригонометрические функции, оно должно быть раскрыто по соответствующим формулам (синус/косинус двойного угла, синус/косинус суммы/разности и прочее).
Найдите производную следующих функций в точке $x=3$:
Найдите точки экстремума функции $f(x)=(0.5 − x)\cos(x) + \sin(x)$ и посчитайте значение функции в этих точках.
Напишите код, который делает следующее:
Запрашивает у пользователя с клавиатуры выражение для функции $f(x)$ (давайте для простоты считать, что пользователь знает, что такое функция, и не будет вводить не-функции, например, $f(x)=|\sqrt{x}|$).
Запрашивает у пользователя отрезок, на котором его интересуют значения функции. Считайте, что пользователь отдельно (с новой строчки) вводит начало отрезка и конец.
Приводит запись к «питоновскому» виду: заменяет ^
на **
, а фигурные/квадратные скобки – на круглые.
Выводит на экран результаты такого вида: рассматриваемая функция в «питоновском» виде, её первая и вторая производные, минимальное и максимальное значение функции на отрезке.
Пример:
Ввод:
Введите функцию: x^2 - 4
Введите начало отрезка: -3
Введите конец отрезка: 3
Вывод:
f(x) = x**2 - 4
первая производная: 2*x
вторая производная: 2
минимальное значение: -4
максимальное значение: 5
Подсказка: возможно, тут пригодится eval()
:
eval('2 * 5')
10
Впрочем, использование eval()
– не очень хороший тон, поскольку эта функция запускает код «как есть», не проверяя его валидность. Но давайте пока его оставим как самый простой способ исполнить код, заданный строкой (string).