首先,你的语句没问题。
但这个函数对于MATLAB来说过于复杂,MATLAB的数值计算能力很强,但是符号计算能力有限。所以他警告:Warning: Explicit integral could not be found. (就是说积不出显性表达式)。
如果可以的话,把a,b换成数字应该是可以积出数值结果的。
如果一定要积出符号解的话,可以用Mathematica,或maple它们的符号计算能力比较强。
下面给出Mathematica积出的结果(Mathematica也积了好久,怪不得MATLAB积不出来)
可以解。
>> syms x a b
>> y=sin(x)
y =
sin(x)
>> s=int(y^2/(b*y+a),0,pi)
s =
-(-i*a^2*log(-i*a/(a^2-b^2)^(1/2))+i*a^2*log(i*a/(a^2-b^2)^(1/2))+a*(a^2-b^2)^(1/2)*pi+2*a^2*atan(1/(a^2-b^2)^(1/2)*b)-2*b*(a^2-b^2)^(1/2))/b^2/(a^2-b^2)^(1/2)