matlab对1/v进行积分,结果中的分段函数是什么意思?怎么还会有b<0的情况?

int(1/v,v,a,b)
ans =
piecewise([a <= 0 and 0 <= b, int(1/v, v, a, b)], [0 < a or b < 0, log(b) - log(a)])

1/v在v=0点发散,
所以如果[a,b]区间包含零点,那么普通意义下的积分是不存在
所以a <= 0 and 0 <= b就是包含有0点的区间中给不出积分表达式
只能用符号int(1/v, v, a, b)表示追问

那后面那个呢 0<a or b<0 如果b<0了怎么还会有log(b)-log(a)

追答

matlab 的log是定义在复数域的,只有在0点发散

追问

谢谢~~~那matlab中应该怎样表达 0<a<b 这个条件,不会让它出现分段的情况呢?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-12-16
1/x对x积分为ln|x|,默认已经要求了x>0,但是matlab考虑的是全域x∈R的情况,所以出现了你看到的结果追问

0 < a or b < 0, log(b) - log(a) 那b<0的时候怎么会有这个表达式呢?

本回答被网友采纳
第2个回答  2014-12-16
不会啊,参考一下 matlab书籍
相似回答