MATLAB-重命名问题

时间:2013-06-14 12:36:53

标签: matlab

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点那样象征性地整合。

2 个答案:

答案 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的{​​ssym对象的私有属性。

当Matlab尝试集成heaviside函数时,它无法通过查看mfile的结构将其与第一原理集成,但它使用定理来计算包含它的表达式;因此,人们不能希望编辑heaviside的实际mupad文件,并期望Matlab找到正确的积分。