Próbuję generować symboliczną funkcję w Matlab. Powód, dla którego musi być symboliczny, polega na tym, że chcę móc później zintegrować/zróżnicować funkcję i/lub wstawić rzeczywiste wartości. Mam następującą funkcję:Konstruowanie operacji symbolicznych w 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
Na przykład chcę umieścić tę funkcję w zmiennej (powiedzmy, f), a następnie zadzwonić
int(diff(f, 1)^2, x, 0, 4) % numbers could be different
i uzyskać (skalarne) skutkować 2/3 .
Próbowałem różnych rzeczy, włączając w to funkcję pieceswise() i porównania symboliczne, ale nic nie działało ... czy możesz pomóc? :-)
Powinno być 60 * x. – Jonas
@ Jonas: Dzięki. "12x" również trzeba było naprawić. – gnovice
Odnośnie _as daleko wstecz jako R2012b_, możesz odwoływać się do funkcji fragmentacji MuPAD, która jest innym interfejsem niż przy przyborniku Symbolic Math. Dla SMT została wprowadzona w R2016b. Przepraszam za zamieszanie za pomocą narzędzi. Daj mi znać, jeśli mogę odpowiedzieć na wszelkie inne pytania. –