1)int(( heaviside(sym('t')) ),0,0.5 )
完美无缺,但是当我编辑内置的 MATLAB 文件heaviside.m并将其重命名为my_heaviside.m然后在命令窗口中将其称为
int(( my_heaviside(sym('t')) ),0,0.5 )
它显示错误。
2)如何在重质化物的帮助下编写以下分段功能:
f(x)= 1, 2<=x <3
&amp;其他地方0。请注意,在x=2
,我需要f(x)= 1
,在x=3
,我需要f(x)= 0
。
3)我想要f(x)
点no。 2应该以这样的方式定义,即它可以像第1点那样象征性地整合。
答案 0 :(得分:0)
您应该尝试将my_heaviside.m
文件中的函数名称从heaviside更改为my_heaviside。
答案 1 :(得分:0)
如果在heaviside
函数中使用断点,那么在评估heaviside(t)
时,您将看到Matlab从未实际进入该函数。为什么? heaviside(t)
的输出应该是多少?应该是heaviside(t)
!它实际上做的是它转到heaviside
类定义中的方法sym
,该函数的输出只是mupadmex('symobj::map',t.s,'heaviside')
,它只是heaviside
的另一个名称t
的{s
是sym
对象的私有属性。
当Matlab尝试集成heaviside
函数时,它无法通过查看mfile
的结构将其与第一原理集成,但它使用定理来计算包含它的表达式;因此,人们不能希望编辑heaviside
的实际mupad文件,并期望Matlab找到正确的积分。