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を取得します。
piecewise()関数やシンボリック比較など、さまざまなことを試しましたが、何も機能しませんでした...お手伝いできますか?:-)