Why matlab doesn't execute my int() sym hiperbolic function?
Show older comments
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 Comment
Walter Roberson
on 17 Nov 2023
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;
Answers (0)
Categories
Find more on Code Performance in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!