Я пытаюсь создать кусочно символическую функцию в Matlab. Причина, по которой он должен быть символическим, заключается в том, что я хочу иметь возможность интегрировать/дифференцировать функцию после и/или вставить фактические значения. У меня есть следующая функция:
x^3/6 -> 0 < x <= 1
(1/6)*(-3*x^3+12*x^2-12x+4) -> 1 < x <= 2
(1/6)*(3*x^3-24*x^2+60x-44) -> 2 < x <= 3
(1/6)*(4-x)^3 -> 3 < x <= 4
0 -> otherwise
Например, я хочу поместить эту функцию в переменную (скажем, f), а затем вызвать
int(diff(f, 1)^2, x, 0, 4) % numbers could be different
и получить (скалярный) результат 2/3.
Я пробовал разные вещи, включая кусочную() функцию и символические сравнения, но ничего не помогло... вы можете помочь?: -)