这个折腾了一晚上,注视是因为我菜,还有一点原因是因为我强迫症——总不想代入数值(觉得那种分段函数只是离散函数,不是连续分段函数)。
-
主要想法
- 用阶跃函数实现分段(其实逻辑表达也行)。
- fplot的使用。
-
举例
func1 = @(t)heaviside(t)-2heaviside(t-2)+2heaviside(t-4);
syms t x real
func2 = matlabFunction(int(func1(t),t,0,x)); % 积分
func3 = matlabFunction(int(func2(t),t,0,x)); % 套娃积分(对积分求积分)% 绘图
fplot(func1,[-10 10]);hold on
fplot(func2,[-10 10]);hold on
fplot(func3,[-10 10]); axis image
齐活
另外:
用逻辑表达代替分段函数:f = @(g) (g>=0 & g<2) - 1.*(g>=2 & g<4) ;