折射率随波长变化MATLAB仿真

折射率随波长变化MATLAB仿真

clear all;
x = 0.5:0.0001:1.8;
dx = 0.5001:0.0001:1.8
y1 = sqrt(1 + 0.696749 * x .^ 2 ./( x.^2  - 0.069066^2) + 0.408218 .* x .^ 2 ./( x.^2  - 0.115662^2)+ 0.890815 * x .^ 2 ./( x.^2  - 9.900559^2));
y2 = sqrt(1 + 0.711040 * x .^ 2 ./( x.^2  - 0.06427^2) + 0.451885 .* x .^ 2 ./( x.^2  - 0.129408^2)+ 0.704048 * x .^ 2 ./( x.^2  - 9.425478^2));
dy1 = sqrt(1 + 0.696749 * dx .^ 2 ./( dx.^2  - 0.069066^2) + 0.408218 .* dx .^ 2 ./( dx.^2  - 0.115662^2)+ 0.890815 * dx .^ 2 ./( dx.^2  - 9.900559^2));
dy2 = sqrt(1 + 0.711040 * dx .^ 2 ./( dx.^2  - 0.06427^2) + 0.451885 .* dx .^ 2 ./( dx.^2  - 0.129408^2)+ 0.704048 * dx .^ 2 ./( dx.^2  - 9.425478^2));
subplot(2,2,1)
plot(x,y1,x,y2) 
xlabel("波长(um)")
ylabel("折射率")
Ng1 = dy1 - dx .* diff(y1) ./ 0.0001;
Ng2 = dy2 - dx .* diff(y2) ./ 0.0001;
subplot(2,2,2)
plot(dx,Ng1,dx,Ng2);
xlabel("波长(um)")
ylabel("折射率")
subplot(2,2,3)
plot(dx,Ng1,x,y1)
xlabel("波长(um)")
ylabel("折射率")
subplot(2,2,4)
plot(dx,Ng2,x,y2)
xlabel("波长(um)")
ylabel("折射率")

折射率随波长变化MATLAB仿真_第1张图片

你可能感兴趣的:(折射率随波长变化MATLAB仿真)