ZIP with MATLAB scripts and note:
example 6.5
example 6.5 notes:
er=95; % titania
tand=.001;a=4.13e-3;L=8.255e-3;c=3e8;
x=[0:.001:15];y=besselj(0,x); % order 0
[nx0,ny0]=intersections(x,y,x,zeros(1,numel(x)));
% finding zeros of J(n,x)
p01=nx0(1) % p01 = 2.404825587623834;
% 1st approach
L=8.255e-3;a=4.13e-3
f1=@(x) real(tan((er*x^2 - (p01/a)^2)^.5*L/2) - ...
((p01/a)^2-x^2)^.5./(er*x^2-(p01/a)^2)^.5)
s=0
for k=[10:.1:600]
s=[s fzero(f1,k)];
end
s2=unique(s);
stem(s2)
k02=p01/a
k01=p01/(a*er^.5)
f1=c*k01/(2*pi)
f2=c*k02/(2*pi)
k0_range=intersect(s2(s2>=k01),s2(s2<=k02))
min(k0_range)
max(k0_range)
k1=min(k0_range)
k2=max(k0_range)
f1=c*k1/(2*pi)
f2=c*k2/(2*pi)
tand=.001;
Qd=1/tand
(1): Titania, AKA Titanium Dioxide TiO2 https://www.azom.com/article.aspx?ArticleID=1179
comment: there are limitations when attempting to find Bessel function zeros with standard commands like solve and fslove in the following ways
syms x;y=besselj(0,x);
solve(y)
fun=@(x) besselj(0,x)
fsolve(fun,1)
nx0 =
2.404825587623834
5.520078116818740
8.653727924339442
11.791534449561969
14.930917711006265
k02 = 5.822822246062551e+02
k01 = 59.740895725000328
f1 = 2.852417657811384e+09
f2 = 2.780192829618922e+10
k1 = 66.005247425991286
k2 = 5.507664289192397e+02
f1 = 3.151518419355034e+09
f2 = 2.629715989547041e+10
Qd = 1000
Warning: Cannot solve symbolically. Returning a numeric approximation instead. In solve (line 303)
=
-197.13557308566141473621200268072
Equation solved.
fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.
<stopping criteria details>
ans =
2.404825557044777