From: Mark on
I am trying to calculate the inductance of a racetrack coil and a rather difficult analytic solution was presented in a paper. It involves a double integration, which has within it another integration. There is also a Bessel function, which I have given the value '1' for simplicity.

I have commented out the 2nd half of the code - if I am able to solve the function "In," the rest of the program should be ok. If I look at "In" after running this program, I get the correct symbolic representation of the equation, but running solve(In) produces the error "Warning, explicit solution could not be found."

Is there anyway of overcoming this problem to solve this integral? I want to integrate f with respect to z from 0 to pi/2 (leaving a function in terms of x and y), then put this result into S and then g. A double integration w.r.t. x and y is then performed on g. Symbolically, g is correct - I just need to be able to solve the integration.

Any help in overcoming this problem and finding a solution would be greatly appreciated. The code is written below.
----------
syms x y z;

%Define geometry of racetrack coil
a0 = 0.0252; %radius of bend of racetrack coil
b = 0.05; %straight length of racetrack coil
tau = 0.0092; %height/depth of coil
N = 28; %number of turns in coil

%Define constants
mu0 = 4*pi*10^(-7);

%Define equations and integrals
L1 = mu0*a0*N^2/tau*(4*b+pi*a0);
L2_A = -4*mu0*a0^2*N^2/pi^2/tau^2;

J1 = 1; %Bessel function

f = cos(z)*cos(a0*y*sin(x)*cos(z))*cos(a0*y*cos(x)*sin(z));
In = 2*int(f,z,0,pi/2);

S = pi*J1*cos(b*y*sin(x))+/sin(x)*sin(b*y*sin(x));

g = S^2/y^2*(1-exp(-tau/y));

%h = int(g,x,0,pi/2);
%L2_B = int(h,y,0,inf); %Perform double integration for dx dy

%L2 = L2_A*L2_B;

%L = L1 - L2;