Cannot perform integral for a function with two symbols
Show older comments
Hi everyone, I try to perform integral for a vector (vector t) which each element contains two symbols. The integral operation is respected to z, hence I expect to see only gamma after the integral operation is done. However, the results still have z and gamma. I suspect that I did not define the vector t correctly. Can someone please help out with this. The code is below:
clc, clear all;
lamda1 = 1;
lamda2 = 1;
lamda3 = 1;
lamda4 = 1;
d1 = 1;
d2 = 1;
d3 = 1;
d4 = 1;
m = 2.7;
n = 1;
P = 1;
R = 3;
sigma_sr = 0.01;
sigma_rd = 0.01;
gamma0 = 2^R - 1;
alpha = 0:0.01:1;
a = (4*(n^2)*(P^2))*alpha.^2;
b = 2*n*P*alpha.*(1-alpha)*sigma_sr*(d1^m)*(d3^m);
c = 2*n*P*alpha.*(1-alpha)*sigma_rd*(d2^m)*(d4^m);
d = ((1-alpha).^2)*sigma_sr*sigma_rd*(d1^m)*(d3^m)*(d2^m)*(d4^m);
syms z;
syms gamma;
arg = (gamma*c)./a;
u = sqrt(z/(lamda2*lamda4));
t = ((4*(gamma*b*z + gamma*d)).^(0.5)).* ((a*z - gamma*c)*lamda1*lamda3).^(-0.5);
test = int(t(1,3),z,arg(1,3),Inf)
The result is:
test =
int((z/625 - (112986307451471*gamma)/288230376151711744)^(1/2)*((7086501203356261*gamma)/18446744073709551616 + (112986307451471*gamma*z)/72057594037927936)^(1/2), z, (70616442157169375*gamma)/288230376151711744, Inf)
We can see that z is still in the expression.
Thank you for any help
2 Comments
madhan ravi
on 20 Jan 2019
Edited: madhan ravi
on 20 Jan 2019
Do you have by any chance the range of gamma values ? so that it can converted to numerical integral to be evaluated ? int() is not able to evaluate the integral.
Tommy Huynh
on 20 Jan 2019
Answers (1)
Walter Roberson
on 20 Jan 2019
0 votes
MATLAB is not able to find a closed form solution for the integral .That is common: it is not difficult to create functions with no known closed form integrand.
5 Comments
Tommy Huynh
on 20 Jan 2019
Walter Roberson
on 21 Jan 2019
Are there available range restrictions on gamma, or c, or a ? Can we assume that any of them are real-valued? Can we assume that any of them are nonnegative? (This matters because there is a singularity at some negative values.)
Walter Roberson
on 21 Jan 2019
My testing using a more powerful package suggests that the integral is either infinite or undefined, depending on the relationships between some of the parameters. In particular plain infinity if I add the assumption that all of the parameters are non-negative.
Tommy Huynh
on 21 Jan 2019
Walter Roberson
on 22 Jan 2019
Your integral is the product of two square roots.
The second value whose square root is being taken is non-negative under the same condition as the lower bound on z, and the value increases infinitely as z increasing to infinity.
The first value whose square root is being taken is nonnegative for nonnegative z, and increases to infinity as z increases to infinity.
So you are multiplying two terms both of which go to infinity as z goes to infinity. But somehow you are expecting a finite result.
Categories
Find more on Special Values in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!