How to get b vs V plot for multimode optical fiber using matlab with using bessel's equation?

13 views (last 30 days)
I want to plot b vs. V curve for different modes of optical waveguide(https://www.google.co.in/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&cad=rja&uact=8&ved=0ahUKEwjB-tTg3_rMAhVCGaYKHfpeBb4QjRwIBw&url=http%3A%2F%2Fwww.slideshare.net%2Ftossus%2Fwaveguiding-in-optical-fibers&psig=AFQjCNFhFM8YX_nSP2G-HHetH4b5GEB79A&ust=1464455430166614). There i need to solve bessel's equation with the help of numerical methods, specially by Newton Raphson Method. Can anyone please tell me the matlab code which uses Newton Raphson method for solving bessel's equation?

Answers (1)

AJEET KUMAR
AJEET KUMAR on 21 Feb 2019
Hello,
The following code Implements the bV plot for optical waveguide.
% Matlab code for b-V plot in optical waveguide
% Author: Ajeet Kumar
% Feb 21, 2019
clc
close all
b = 0:0.01:1; % Value of b
c = 0.98; % Value of c
p = [0 1 10 100]; % Values of different a
% m = 0; % for m = 0;
% d = c-a*(1-c);
figure()
for m = 0:1:5 % For m = 0 to 5
for ii = 1:4
a = p(ii);
d = c-a*(1-c);
x1 = atan((1/d)*sqrt((a+b)./(1-b)));
x2 = atan((1/c)*sqrt(b./(1-b)));
v = (x1+x2+m*pi)./sqrt(1-b); % Expression of V, x1 and x2 are part of expression
plot(v,b);
% legend(['m = ',num2str(m)]);
axis([0 15 0 1]);
grid on
hold on
end
end
%% Separate plotting
% a = 1;
% m = 1;
% d = c-a*(1-c);
%
% x1 = atan((1/d)*sqrt((a+b)./(1-b)));
% x2 = atan((1/c)*sqrt(b./(1-b)));
% v = (x1+x2+m*pi)./sqrt(1-b);
% plot(v,b);
% hold on
%
% a = 10;
% m = 2;
% d = c-a*(1-c);
%
% x1 = atan((1/d)*sqrt((a+b)./(1-b)));
% x2 = atan((1/c)*sqrt(b./(1-b)));
% v = (x1+x2+m*pi)./sqrt(1-b);
% plot(v,b);
% hold on
%
% a = 100;
% m = 3;
% d = c-a*(1-c);
%
% x1 = atan((1/d)*sqrt((a+b)./(1-b)));
% x2 = atan((1/c)*sqrt(b./(1-b)));
% v = (x1+x2+m*pi)./sqrt(1-b);
% plot(v,b);
Hope this answers the question.

Community Treasure Hunt

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

Start Hunting!