提供两种解法供参考。
1、解析解法
作变量置换t=1/x,则积分上限为1,下限为inf:
>> syms x t代码在2007b和2013a上实测通过。
2、数值解法
直接对关于x的函数1/x求微分,但得到的函数表达式用解析方法无法得到显式解,所以,使用数值方法积分:
>> syms x其中integral是2012a版之后才引入的函数,早期的版本可以使用quadgk代替。
追问用第二种方法求:
出现了问题。
我用的是 MATLAB R2010b,能否帮助解决一下,谢谢!
我现在有点疑惑,积分上下限(0,0.25)究竟是指x,还是指x^2?
之前我理解为x,但现在觉得,也许之前理解错了。
追问嗯,是x^2
追答数值积分的函数在被积函数为常数时的确会出问题。原因是,在计算数值积分时,如果输入参数x是向量,被积函数一般是x的点运算形式,其返回的函数值应该也是向量,但如果函数的形式是标量常数,则返回的函数值只是一个标量,所以会导致错误。
避免这个错误的方法是,对于常数形式的函数,给额外加上一项与x有关的项,使之能够返回和输入相同维数的向量:
>> syms x1 用diff(1/x) 求出 (1/x) 的微分,
则可求相对于dx的被积函数-(1/x + 1)^x/x^3
2 用数值积分求出的值。
3 计算结果:
可以写一下代码吗?谢谢!
追答做数学变形,这怎么写代码。。当然得自己动手算。
题主先把式子变成dx的积分,然后我才能写代码。
可以写一下代码吗?谢谢!