Issue with int() function
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Bathala Teja
el 15 de Sept. de 2021
Comentada: Bathala Teja
el 16 de Sept. de 2021
I gave my script below. In that I am supposed to get Lrr in terms of theta but I am getting it in terms of values.
How is this possible??
syms theta phi
Nr = 20;
p = 2;
D = 1/(0.6*10^-3);
Q = 1/(40.27*10^-3);
theta_d = 1.1652;
theta_q = 0.4056;
Aog = (2/pi)*(D*theta_d+Q*theta_q);
k = 2;
Ginvi = 0;
for i=2:2:k
Akg = (4*(Q-D)/(pi*i))*(-1)^((i+4)/2)*sin(i*theta_q);
Ginvi = Ginvi+Akg*cos(p*i*(phi-theta));
end
Ginv = vpa((Ginvi+Aog), 4) % Ginv interms of phi and theta
w = 1;
a = (theta_d)/(Nr/p);
bd = a/2;
bq = ((theta_q)+a)/2;
nr = sym(zeros(1, Nr));
for j = 1:(2*p)
for n = (((j-1)*Nr/(2*p))+2):(j*(Nr/(2*p)))
for i = 1:w
Aord = (a+2*bd)/(2*pi);
Awr = (2/(a*pi*(i^2)))*(cos(i*bd)-cos(i*(a+bd)));
nr(1, n) = nr(1, n)+Awr*cos(i*(phi-theta-((n-j-1)*2*a)-((j-1)*(a+2*bq))));
end
nr(1, n) = Aord+nr(1, n);
end
end
for n = 1:(Nr/(2*p)):Nr
for i = 1:w
Aorq = (a+2*bq)/(2*pi);
Awr = (2/(a*pi*(i^2)))*(cos(i*bq)-cos(i*(a+bq)));
nr(1, n) = nr(1, n)+Awr*cos(i*(phi-theta-(((n-1)/(Nr/(2*p)))*theta_d)));
end
nr(1, n) = Aorq+nr(1, n);
end
NR = vpa(nr, 4) % row matrix interms of phi and theta
wr = sym(zeros(1, Nr));
for n = 1:Nr
wr(1, n) = (NR(1, n))-((1/(2*pi*Aog))*int((NR(1, n)*Ginv), phi, 0, 2*pi));
end
WR = vpa(wr, 4) % row matrix interms of theta
u = 1.2566*10^-(6);
r = 73.4*10^(-3);
l = 76*10^(-3);
lrr = sym(ones(Nr, Nr));
for i = 1:Nr
for j = 1:Nr
lrr(i, j) = (u*r*l)*int((NR(i)*WR(j)*Ginv), phi, 0, 2*pi);
end
end
Lrr = vpa(lrr, 4) % 20*20 matrix interms of theta
I am getting a result like this:
>> temp
Ginv =
757.9*cos(4.0*phi - 4.0*theta) + 1243.0
NR =
[0.1997*cos(phi - 1.0*theta) + 0.1016, 0.07397*cos(phi - 1.0*theta) + 0.03709, 0.07397*cos(theta - 1.0*phi + 0.233) + 0.03709, 0.07397*cos(theta - 1.0*phi + 0.4661) + 0.03709, 0.07397*cos(theta - 1.0*phi + 0.6991) + 0.03709, 0.1997*cos(theta - 1.0*phi + 1.165) + 0.1016, 0.07397*cos(theta - 1.0*phi + 1.571) + 0.03709, 0.07397*cos(theta - 1.0*phi + 1.804) + 0.03709, 0.07397*cos(theta - 1.0*phi + 2.037) + 0.03709, 0.07397*cos(theta - 1.0*phi + 2.27) + 0.03709, 0.1997*cos(theta - 1.0*phi + 2.33) + 0.1016, 0.07397*cos(theta - 1.0*phi + 3.142) + 0.03709, 0.07397*cos(theta - 1.0*phi + 3.375) + 0.03709, 0.07397*cos(theta - 1.0*phi + 3.608) + 0.03709, 0.07397*cos(theta - 1.0*phi + 3.841) + 0.03709, 0.1997*cos(theta - 1.0*phi + 3.496) + 0.1016, 0.07397*cos(theta - 1.0*phi + 4.712) + 0.03709, 0.07397*cos(theta - 1.0*phi + 4.945) + 0.03709, 0.07397*cos(theta - 1.0*phi + 5.178) + 0.03709, 0.07397*cos(theta - 1.0*phi + 5.412) + 0.03709]
WR =
[0.1997*cos(phi - 1.0*theta) - 9.247e-14, 0.07397*cos(phi - 1.0*theta) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 0.233) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 0.4661) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 0.6991) - 3.374e-14, 0.1997*cos(theta - 1.0*phi + 1.165) - 9.247e-14, 0.07397*cos(theta - 1.0*phi + 1.571) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 1.804) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 2.037) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 2.27) - 3.374e-14, 0.1997*cos(theta - 1.0*phi + 2.33) - 9.247e-14, 0.07397*cos(theta - 1.0*phi + 3.142) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 3.375) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 3.608) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 3.841) - 3.374e-14, 0.1997*cos(theta - 1.0*phi + 3.496) - 9.247e-14, 0.07397*cos(theta - 1.0*phi + 4.712) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 4.945) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 5.178) - 3.374e-14, 0.07397*cos(theta - 1.0*phi + 5.412) - 3.374e-14]
Lrr =
[ 1.092e-6, 4.043e-7, 3.934e-7, 3.612e-7, 3.095e-7, 4.308e-7, -1.485e-12, -9.338e-8, -1.817e-7, -2.602e-7, -7.518e-7, -4.043e-7, -3.934e-7, -3.612e-7, -3.095e-7, -1.024e-6, 4.456e-12, 9.338e-8, 1.817e-7, 2.602e-7]
[ 4.043e-7, 1.497e-7, 1.457e-7, 1.338e-7, 1.146e-7, 1.595e-7, -5.5e-13, -3.458e-8, -6.729e-8, -9.636e-8, -2.784e-7, -1.497e-7, -1.457e-7, -1.338e-7, -1.146e-7, -3.793e-7, 1.65e-12, 3.458e-8, 6.729e-8, 9.637e-8]
[ 3.934e-7, 1.457e-7, 1.497e-7, 1.457e-7, 1.338e-7, 2.41e-7, 3.458e-8, -5.5e-13, -3.458e-8, -6.729e-8, -2.032e-7, -1.457e-7, -1.497e-7, -1.457e-7, -1.338e-7, -4.014e-7, -3.458e-8, 1.65e-12, 3.458e-8, 6.729e-8]
[ 3.612e-7, 1.338e-7, 1.457e-7, 1.497e-7, 1.457e-7, 3.095e-7, 6.729e-8, 3.458e-8, -5.5e-13, -3.458e-8, -1.17e-7, -1.338e-7, -1.457e-7, -1.497e-7, -1.457e-7, -4.018e-7, -6.729e-8, -3.458e-8, 1.65e-12, 3.458e-8]
[ 3.095e-7, 1.146e-7, 1.338e-7, 1.457e-7, 1.497e-7, 3.612e-7, 9.636e-8, 6.729e-8, 3.458e-8, -5.5e-13, -2.444e-8, -1.146e-7, -1.338e-7, -1.457e-7, -1.497e-7, -3.805e-7, -9.636e-8, -6.729e-8, -3.458e-8, 1.65e-12]
[ 4.308e-7, 1.595e-7, 2.41e-7, 3.095e-7, 3.612e-7, 1.092e-6, 3.715e-7, 3.246e-7, 2.602e-7, 1.817e-7, 4.308e-7, -1.595e-7, -2.41e-7, -3.095e-7, -3.612e-7, -7.518e-7, -3.715e-7, -3.246e-7, -2.602e-7, -1.817e-7]
[-1.485e-12, -5.5e-13, 3.458e-8, 6.729e-8, 9.636e-8, 3.715e-7, 1.497e-7, 1.457e-7, 1.338e-7, 1.146e-7, 2.932e-7, -5.5e-13, -3.458e-8, -6.729e-8, -9.636e-8, -1.402e-7, -1.497e-7, -1.457e-7, -1.338e-7, -1.146e-7]
[ -9.338e-8, -3.458e-8, -5.5e-13, 3.458e-8, 6.729e-8, 3.246e-7, 1.457e-7, 1.497e-7, 1.457e-7, 1.338e-7, 3.496e-7, 3.458e-8, -5.5e-13, -3.458e-8, -6.729e-8, -4.879e-8, -1.457e-7, -1.497e-7, -1.457e-7, -1.338e-7]
[ -1.817e-7, -6.729e-8, -3.458e-8, -5.5e-13, 3.458e-8, 2.602e-7, 1.338e-7, 1.457e-7, 1.497e-7, 1.457e-7, 3.87e-7, 6.729e-8, 3.458e-8, -5.5e-13, -3.458e-8, 4.522e-8, -1.338e-7, -1.457e-7, -1.497e-7, -1.457e-7]
[ -2.602e-7, -9.636e-8, -6.729e-8, -3.458e-8, -5.5e-13, 1.817e-7, 1.146e-7, 1.338e-7, 1.457e-7, 1.497e-7, 4.036e-7, 9.636e-8, 6.729e-8, 3.458e-8, -5.5e-13, 1.368e-7, -1.146e-7, -1.338e-7, -1.457e-7, -1.497e-7]
[ -7.518e-7, -2.784e-7, -2.032e-7, -1.17e-7, -2.444e-8, 4.308e-7, 2.932e-7, 3.496e-7, 3.87e-7, 4.036e-7, 1.092e-6, 2.784e-7, 2.032e-7, 1.17e-7, 2.444e-8, 4.308e-7, -2.932e-7, -3.496e-7, -3.87e-7, -4.036e-7]
[ -4.043e-7, -1.497e-7, -1.457e-7, -1.338e-7, -1.146e-7, -1.595e-7, -5.5e-13, 3.458e-8, 6.729e-8, 9.636e-8, 2.784e-7, 1.497e-7, 1.457e-7, 1.338e-7, 1.146e-7, 3.793e-7, -5.5e-13, -3.458e-8, -6.729e-8, -9.636e-8]
[ -3.934e-7, -1.457e-7, -1.497e-7, -1.457e-7, -1.338e-7, -2.41e-7, -3.458e-8, -5.5e-13, 3.458e-8, 6.729e-8, 2.032e-7, 1.457e-7, 1.497e-7, 1.457e-7, 1.338e-7, 4.014e-7, 3.458e-8, -5.5e-13, -3.458e-8, -6.729e-8]
[ -3.612e-7, -1.338e-7, -1.457e-7, -1.497e-7, -1.457e-7, -3.095e-7, -6.729e-8, -3.458e-8, -5.5e-13, 3.458e-8, 1.17e-7, 1.338e-7, 1.457e-7, 1.497e-7, 1.457e-7, 4.018e-7, 6.729e-8, 3.458e-8, -5.5e-13, -3.458e-8]
[ -3.095e-7, -1.146e-7, -1.338e-7, -1.457e-7, -1.497e-7, -3.612e-7, -9.636e-8, -6.729e-8, -3.458e-8, -5.5e-13, 2.444e-8, 1.146e-7, 1.338e-7, 1.457e-7, 1.497e-7, 3.805e-7, 9.636e-8, 6.729e-8, 3.458e-8, -5.5e-13]
[ -1.024e-6, -3.793e-7, -4.014e-7, -4.018e-7, -3.805e-7, -7.518e-7, -1.402e-7, -4.879e-8, 4.522e-8, 1.368e-7, 4.308e-7, 3.793e-7, 4.014e-7, 4.018e-7, 3.805e-7, 1.092e-6, 1.402e-7, 4.879e-8, -4.522e-8, -1.368e-7]
[ 4.456e-12, 1.65e-12, -3.458e-8, -6.729e-8, -9.636e-8, -3.715e-7, -1.497e-7, -1.457e-7, -1.338e-7, -1.146e-7, -2.932e-7, -5.5e-13, 3.458e-8, 6.729e-8, 9.636e-8, 1.402e-7, 1.497e-7, 1.457e-7, 1.338e-7, 1.146e-7]
[ 9.338e-8, 3.458e-8, 1.65e-12, -3.458e-8, -6.729e-8, -3.246e-7, -1.457e-7, -1.497e-7, -1.457e-7, -1.338e-7, -3.496e-7, -3.458e-8, -5.5e-13, 3.458e-8, 6.729e-8, 4.879e-8, 1.457e-7, 1.497e-7, 1.457e-7, 1.338e-7]
[ 1.817e-7, 6.729e-8, 3.458e-8, 1.65e-12, -3.458e-8, -2.602e-7, -1.338e-7, -1.457e-7, -1.497e-7, -1.457e-7, -3.87e-7, -6.729e-8, -3.458e-8, -5.5e-13, 3.458e-8, -4.522e-8, 1.338e-7, 1.457e-7, 1.497e-7, 1.457e-7]
[ 2.602e-7, 9.637e-8, 6.729e-8, 3.458e-8, 1.65e-12, -1.817e-7, -1.146e-7, -1.338e-7, -1.457e-7, -1.497e-7, -4.036e-7, -9.636e-8, -6.729e-8, -3.458e-8, -5.5e-13, -1.368e-7, 1.146e-7, 1.338e-7, 1.457e-7, 1.497e-7]
>>
Actually I have to get Lrr in terms of theta. Instead I am getting in some values.
Can anyone tell me what is the issue??
0 comentarios
Respuesta aceptada
Walter Roberson
el 15 de Sept. de 2021
The int() work out independent of theta.
cos() integrated over 0 to 2*pi is sin(2*pi)-sin(0) which is 0.
6 comentarios
Walter Roberson
el 16 de Sept. de 2021
Your code multiplies three terms of the form A*cos(B*(phi-theta))+C
You can see that in the output variable named expr
You can expand out the multiplications to get a series of terms involving multiplying constants and variable numbers of cos(constant*(phi-theta)) terms and a final constant that is the +C terms all multiplied together
You can see that in the output variable named integrand . Some sin() show up as well.
how to split the resulting sum
You can see that in the variable named intch , which I did not display.
and integrate each piece separately
You can see that in the output variable integratedch . Notice that most of them are 0, and you have a trailing constant, and you have a sin^2 and a cos^2
But... as soon as you add the terms together you get 0
Well, except for the trailing constant. The sin^2 and cos^2 add to 1 times the constant multiplier they both have, with no theta. Add the trailing constant, and the result is a constant independent of theta.
So end up with a numeric value independent of theta, all times u*r*l and since those are independent of theta, you get a numeric value.
The reason you see only a 2 x 2 non-zero value is that it was sufficient to show a couple of examples to prove the point. You can change
for i = 1:2 %Nr
for j = 1:2 %Nr
to
for i = 1:Nr
for j = 1:Nr
to fill in the entire array -- but you will probably want to supress most output when you do that. And since you won't get anything different than the result of using int() on the original expression, it is inefficient to separate the parts like this.
Más respuestas (0)
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!