Why matlab doesn't execute my int() sym hiperbolic function?

I need to integrate the terms of a matrix that are in hyperbolic functions, but matlab gives me the result as a function of the integral. In other words, it is not integrating the function. When I use trigonometric functions (sin, cos..), it integrates normally. Any suggestion?
The first case that doesn't work:
syms k_theta k_v GA_c L eta Omega xi a b alpha x EI real
f=(eta^sym(2)*(a^2 + b^2)^2*(b^2*xi*cos(a*(2*L - x))*cosh(b*x) - a^2*xi*cosh(b*(2*L - x))*cos(a*x) + a^2*xi*cos(a*x)*cosh(b*x) - b^2*xi*cos(a*x)*cosh(b*x) + L^2*Omega*a^4*cos(a*x)*cosh(b*x) + L^2*Omega*b^4*cos(a*x)*cosh(b*x) + a*b*xi*sin(a*(2*L - x))*sinh(b*x) + a*b*xi*sinh(b*(2*L - x))*sin(a*x) - L^2*Omega*a^4*cosh(b*(2*L - x))*cos(a*x) - L^2*Omega*b^4*cos(a*(2*L - x))*cosh(b*x) + 2*a*b*xi*sin(a*x)*sinh(b*x) + 2*L^2*Omega*a^2*b^2*cos(a*x)*cosh(b*x) - L^2*Omega*a*b^3*sin(a*(2*L - x))*sinh(b*x) + L^2*Omega*a*b^3*sinh(b*(2*L - x))*sin(a*x) - L^2*Omega*a^3*b*sin(a*(2*L - x))*sinh(b*x) + L^2*Omega*a^3*b*sinh(b*(2*L - x))*sin(a*x) - L^2*Omega*a^2*b^2*cos(a*(2*L - x))*cosh(b*x) - L^2*Omega*a^2*b^2*cosh(b*(2*L - x))*cos(a*x))^2)/(a^2*xi^sym(2) + b^2*xi^sym(2) - b^2*cos(2*L*a)*(Omega*L^2*a^2 + Omega*L^2*b^2 - xi)^2 + L^4*Omega^sym(2)*a^6 + L^4*Omega^sym(2)*b^6 - a^2*cosh(2*L*b)*(Omega*L^2*a^2 + Omega*L^2*b^2 + xi)^2 + 3*L^4*Omega^sym(2)*a^2*b^4 + 3*L^4*Omega^sym(2)*a^4*b^2 + 2*L^2*Omega*a^4*xi - 2*L^2*Omega*b^4*xi)^2;
K_b=sym(zeros(1,1));
K_b(1,1)=int(f,x,0,L)
The second case that does work:
syms k_theta k_v GA_c L eta Omega xi r_1 r_2 alpha x EI real
f=(EI*(eta*r_1^2*r_2^2*sin(L*r_1)*sin(L*r_2)*cos(r_1*x)*(Omega*L^2*r_1^2 + xi) - eta*r_1^3*r_2*cos(r_1*x)*(Omega*L^2*r_2^2 + xi) - eta*r_1^2*r_2^2*cos(L*r_1)*sin(L*r_2)*sin(r_1*x)*(Omega*L^2*r_1^2 + xi) - eta*r_1*r_2^3*cos(r_2*x)*(Omega*L^2*r_1^2 + xi) - eta*r_1^2*r_2^2*cos(L*r_2)*sin(L*r_1)*sin(r_2*x)*(Omega*L^2*r_2^2 + xi) + eta*r_1^2*r_2^2*sin(L*r_1)*sin(L*r_2)*cos(r_2*x)*(Omega*L^2*r_2^2 + xi) + eta*r_1*r_2^3*cos(L*r_1)*cos(L*r_2)*cos(r_2*x)*(Omega*L^2*r_1^2 + xi) + eta*r_1^3*r_2*cos(L*r_1)*cos(L*r_2)*cos(r_1*x)*(Omega*L^2*r_2^2 + xi) + eta*r_1*r_2^3*cos(L*r_1)*sin(L*r_2)*sin(r_2*x)*(Omega*L^2*r_1^2 + xi) + eta*r_1^3*r_2*cos(L*r_2)*sin(L*r_1)*sin(r_1*x)*(Omega*L^2*r_2^2 + xi))^2)/(2*r_1*r_2*xi^sym(2) - sin(L*r_1)*sin(L*r_2)*(L^4*Omega^sym(2)*r_1^4*r_2^2 + L^4*Omega^sym(2)*r_1^2*r_2^4 + 4*L^2*Omega*r_1^2*r_2^2*xi + r_1^2*xi^sym(2) + r_2^2*xi^sym(2)) + 2*L^4*Omega^sym(2)*r_1^3*r_2^3 + 2*L^2*Omega*r_1*r_2^3*xi + 2*L^2*Omega*r_1^3*r_2*xi - 2*r_1*r_2*cos(L*r_1)*cos(L*r_2)*(Omega*L^2*r_1^2 + xi)*(Omega*L^2*r_2^2 + xi))^2;
K_b=sym(zeros(1,1));
K_b(1,1)=int(f,x,0,L)
I understand that "f" are differents in both cases, but the script that generates each "f" is the same and I can't understand why matlab doesn't execute the first one.
Thanks in advance.

1 个评论

MATLAB does not seem to be able to integrate this.
Maple is able to integrate it. After simplification of the long result it gives, the result becomes
cg = (-2 * a * (L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 - xi) * (b ^ 2) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 + xi) * L * (a ^ 2) * b * cosh((2 * L * b)) + (-(L ^ 2 * Omega * a ^ 4) / 2 + ((-3 * L ^ 2 * Omega * b ^ 2 + xi) * a ^ 2) / 2 - (b ^ 2 * (L ^ 2 * Omega * b ^ 2 + xi))) * sinh((2 * L * b)) / 2 - ((L ^ 2 * Omega * a ^ 4 + (2 * L ^ 2 * Omega * b ^ 2 + 3 * xi) * a ^ 2 + b ^ 2 * (L ^ 2 * Omega * b ^ 2 - xi)) * b * L) / 2) * cos((2 * L * a)) + (((L ^ 2 * Omega * a ^ 4) + (3 / 2 * (L ^ 2) * Omega * (b ^ 2) - xi) * (a ^ 2) + (b ^ 2 * (L ^ 2 * Omega * b ^ 2 + xi)) / 2) * sin((2 * L * a)) + (a * (L ^ 2 * Omega * a ^ 4 + (2 * L ^ 2 * Omega * b ^ 2 + xi) * a ^ 2 + b ^ 2 * (L ^ 2 * Omega * b ^ 2 - 3 * xi)) * L)) * (a ^ 2) * (L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 + xi) * b * cosh((2 * L * b)) - a * (L * a * (b ^ 2) * (a - b) * (a + b) * (L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 - xi) * (L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 + xi) * sin((2 * L * a)) - (L ^ 4 * Omega ^ 2 * a ^ 8) / 2 - (L ^ 2 * Omega * (L ^ 2 * Omega * b ^ 2 + 2 * xi) * a ^ 6) / 2 + (3 / 2 * (L ^ 4) * (b ^ 4) * (Omega ^ 2) - (2 * L ^ 2 * b ^ 2 * xi * Omega) - (xi ^ 2) / 2 * (a ^ 4) + (5 / 2 * (L ^ 4) * (Omega ^ 2) * (b ^ 6) - (L ^ 2 * Omega * b ^ 4 * xi) + (b ^ 2 * xi ^ 2) / 2) * (a ^ 2) + (L ^ 4 * Omega ^ 2 * b ^ 8) - (b ^ 4 * xi ^ 2)) * sinh((2 * L * b)) - ((L ^ 4 * Omega ^ 2 * a ^ 8) + 5 / 2 * (L ^ 4) * (Omega ^ 2) * (a ^ 6) * (b ^ 2) + (3 / 2 * (L ^ 4) * (b ^ 4) * (Omega ^ 2) + (L ^ 2 * b ^ 2 * xi * Omega) - (xi ^ 2)) * (a ^ 4) - (b ^ 2 * (L ^ 4 * b ^ 4 * Omega ^ 2 - 4 * L ^ 2 * b ^ 2 * xi * Omega - xi ^ 2) * a ^ 2) / 2 - (b ^ 4 * (L ^ 2 * Omega * b ^ 2 - xi) ^ 2) / 2) * b * sin((2 * L * a)) - (a ^ 5) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 + xi) ^ 2) * sinh((4 * L * b)) / 4 - b * ((b ^ 4) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 - xi) ^ 2) * sin((4 * L * a)) / 4 + (a * (L ^ 4 * Omega ^ 2 * a ^ 8 + 2 * L ^ 2 * Omega * (L ^ 2 * Omega * b ^ 2 + xi) * a ^ 6 + (2 * L ^ 4 * b ^ 4 * Omega ^ 2 + 2 * L ^ 2 * b ^ 2 * xi * Omega + xi ^ 2) * a ^ 4 + 2 * (L ^ 4 * Omega ^ 2 * b ^ 6 - L ^ 2 * Omega * b ^ 4 * xi - 2 * b ^ 2 * xi ^ 2) * a ^ 2 + b ^ 4 * (L ^ 2 * Omega * b ^ 2 - xi) ^ 2) * L))) * eta ^ 2 * ((a ^ 2 + b ^ 2) ^ 2) / a / b / (-(b ^ 4) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 - xi) ^ 4) * cos((2 * L * a)) ^ 2 / 2 - ((a ^ 2) * cosh((2 * L * b)) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 + xi) ^ 2) - ((L ^ 4 * a ^ 4 * Omega ^ 2 + 2 * L ^ 2 * Omega * (L ^ 2 * Omega * b ^ 2 + xi) * a ^ 2 + (L ^ 2 * Omega * b ^ 2 - xi) ^ 2) * (a ^ 2 + b ^ 2))) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 - xi) ^ 2) * (b ^ 2) * cos((2 * L * a)) + (a ^ 2) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 + xi) ^ 2) * (L ^ 4 * a ^ 4 * Omega ^ 2 + 2 * L ^ 2 * Omega * (L ^ 2 * Omega * b ^ 2 + xi) * a ^ 2 + (L ^ 2 * Omega * b ^ 2 - xi) ^ 2) * (a ^ 2 + b ^ 2) * cosh((2 * L * b)) - (a ^ 4) * ((L ^ 2 * Omega * a ^ 2 + L ^ 2 * Omega * b ^ 2 + xi) ^ 4) * cosh((4 * L * b)) / 4 - 3 / 4 * (L ^ 8) * (Omega ^ 4) * (a ^ 12) + ((-4 * L ^ 8 * Omega ^ 4 * b ^ 2 - 3 * L ^ 6 * Omega ^ 3 * xi) * a ^ 10) + 9 * (-(L ^ 6 * Omega ^ 3 * b ^ 2 * xi) - (L ^ 8 * Omega ^ 4 * b ^ 4) - (L ^ 4 * Omega ^ 2 * xi ^ 2) / 2) * (a ^ 8) + ((-11 * L ^ 8 * Omega ^ 4 * b ^ 6 - 7 * L ^ 6 * Omega ^ 3 * b ^ 4 * xi - 7 * L ^ 4 * Omega ^ 2 * b ^ 2 * xi ^ 2 - 3 * L ^ 2 * Omega * xi ^ 3) * a ^ 6) + ((3 * L ^ 6 * b ^ 6 * xi * Omega ^ 3) - 7 / 2 * (L ^ 4) * (b ^ 4) * (xi ^ 2) * (Omega ^ 2) - (3 * L ^ 2 * b ^ 2 * xi ^ 3 * Omega) - 3 / 4 * (xi ^ 4) - 31 / 4 * (L ^ 8) * (b ^ 8) * (Omega ^ 4)) * (a ^ 4) - 3 * (b ^ 2) * ((L ^ 4 * b ^ 4 * Omega ^ 2) + (xi ^ 2) / 3) * ((L ^ 2 * Omega * b ^ 2 - xi) ^ 2) * (a ^ 2) - (b ^ 4 * (L ^ 2 * Omega * b ^ 2 - xi) ^ 4) / 2) / 4;

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

产品

版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by