# How to do symbolic integration

1 view (last 30 days)
gourav pandey on 23 Dec 2021
Commented: Star Strider on 24 Dec 2021
%% I am unable to get the result. Thank you so much in advance
clc;
clear;
syms omega x n m
% assuming omega::real,omega>0,m::integer,m>0,n::integer,n>0;
fun=int(cos(atan(1,x))^m*sin(omega*x)/(1+x^2)^((n)/2+1),x,0,Inf);

Star Strider on 23 Dec 2021
It apparently does not have a symbolic solution (this is not uncommon).
It does have a piecewise closed-form solution, at least over some regions, and one option would be to numerically integrate it (although that could have problems as well) —
syms omega x n m real
sympref('AbbreviateOutput',false);
assume(m,'integer')
assumeAlso(m,'positive')
assume(n,'integer')
assumeAlso(n,'positive')
assume(omega,'positive')
% assuming omega::real,omega>0,m::integer,m>0,n::integer,n>0;
integrand = cos(atan(1,x))^m*sin(omega*x)/(1+x^2)^((n)/2+1)
integrand = integrand = simplify(integrand, 500)
integrand = fun=int(integrand,x,0,Inf)
fun = nfun = matlabFunction(integrand) % Anonymous Function Argument To 'integral'
nfun = function_handle with value:
@(m,n,omega,x)x.^m.*sin(omega.*x).*(x.^2+1.0).^(m.*(-1.0./2.0)-n./2.0-1.0)
This likely as good as it gets.
.
##### 2 CommentsShowHide 1 older comment
Star Strider on 24 Dec 2021
My pleasure!

KSSV on 23 Dec 2021
Try substituing the values of m and n.
syms omega positive real
% syms n m positive integer
syms x
% assuming omega::real,omega>0,m::integer,m>0,n::integer,n>0;
m = 5 ; n = 4 ;
fun=int(cos(atan(1,x))^m*sin(omega*x)/(1+x^2)^((n)/2+1),x,0,Inf)
fun = gourav pandey on 23 Dec 2021
Hii,
I have some restriction due to which i can't substitute the values on omega, m, and n. Is there any other way to integrate the above expression.

R2021b

### Community Treasure Hunt

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

Start Hunting!