Error:DOUBLE cannot convert the input expression into a double array.
显示 更早的评论
When I run this integration for limits [0 to (a/0.15)], I am getting error but not when the limits are [0 to 0.433](or any other number). Please suggest a correction or any other alternative approach.
syms y a
T = ((1.3-(1.517*(y^(3/2))))*(1-(2.308*y))*(0.567+y)/(sqrt(1-(5.325*y*y))));
f = int(T, y, 0, (a/0.15));
f2 = double(f)
Warning: Explicit integral could not be found.
??? Error using ==> mupadmex
Error in MuPAD command: DOUBLE cannot convert the input expression into a double array.
If the input expression contains a symbolic variable, use the VPA function instead.
Error in ==> sym.sym>sym.double at 927
Xstr = mupadmex('mllib::double', S.s, 0);
Error in ==> matlab2 at 4
f2 = double(f)
回答(1 个)
Roger Stafford
2014-1-22
0 个投票
The system could not find an explicit formula for the indefinite integral as a function of y. If you put definite numerical values on the limits of integration it could give a numerical solution, but with the symbol 'a' in one of the limits it could therefore not give a general formula in terms of 'a'.
类别
在 帮助中心 和 File Exchange 中查找有关 Conversion 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!