Как определить функцию по частям, используя библиотеку SymPy? - PullRequest
0 голосов
/ 06 апреля 2020

Я новичок в использовании библиотеки sympy, поэтому пока не могу выполнить простые операции.

Итак, сказав это, моя проблема примерно такая:

n

Где x и c - символические значения.

Как я могу сделать такую ​​функцию? В математике это определяется как функция по частям. Я мог бы сделать это отдельно и вычислить функцию в диапазоне значений для x / c между [0,1], но на следующем шаге этой проблемы мне нужно взять производную от этой функции, поэтому мне нужно функция в символической форме.

enter image description here

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

Как я могу продолжить это?

1 Ответ

2 голосов
/ 06 апреля 2020

A Piecewise предназначен для этого. Надеюсь, это поможет вам в правильном направлении:

>>> from sympy import Piecewise
>>> from sympy.abc import x
>>> z = Piecewise((x, (x > 0) & (x < 1)), (x**2, (x >= 1) & (x < 2)))
>>> z.diff(x)
Piecewise((1, (x > 0) & (x < 1)), (2*x, (x >= 1) & (x < 2)))

Чтобы получить помощь по Piecewise, просто наберите help(Piecewise) в переводчике.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...