There is a bug in the Symbolic Math Toolbox that affects release R2014a and prior. The bug causes the "int" function to return an invalid syntax -- it is a mix of MuPAD and MATLAB syntax. Thus, the "solve" function thinks that "x" is an unknown and cannot solve the equation.
1. If the integral is a constant
As a workaround, if integral "I" is a constant, you can numerically approximate its value using the "vpa" function:
>> syms x
>> I = int(-(1+1/x)*exp(-1/2*log(x)^2), x, 0.01, 1);
>> syms y
>> solve(y + vpa(I)*y == 0, y)
ans =
0
2. If the integral depends on the unknown
If integral "I" depends on "y", you can use the MuPAD "simplify" and "solve" functions with "feval" as follows:
>> syms x y
>> f = y + int(-exp(-log(x)^2/2)*(y+ y/x), x, 0.01,1);
>> simplify(feval(symengine, 'solve', f, y))
ans =
0
Best Answer