matlab怎样求解分段函数
求助一下大神,我现在这个代码能够画出一个Ey的分段函数的图像,求问一下,我想求这个分段函数Ey在两个定值x0到x4的定积分,接下来的代码应该怎么写,我之前用了int函数,...
求助一下大神,我现在这个代码能够画出一个Ey的分段函数的图像,求问一下,我想求这个分段函数Ey在两个定值x0到x4的定积分,接下来的代码应该怎么写,我之前用了int函数,总是运行不出来结果。
clear%TE
close all
n1 = 3.476;
ns = 1.45;
n0 = 1.45;
d = 400e-9;
a=d/2;
lambda = 1.55e-6;
k = 2*pi/lambda;
e=2.718281828459;
r=(ns^2-n0^2)/(n1^2-ns^2);
v=sqrt(k^2*a^2*(n1^2-ns^2));
m=0;
F1=@(b)(2*v*sqrt(1-b));
ezplot(F1,[0,1,-5,10]);
hold on;
F2=@(b)(m*pi)+atan(sqrt(b/(1-b)))+atan (sqrt((b+r)/(1-b)));
ezplot(F2,[0,1,-5,10]);
xlabel('b')
Feigin=@(b)(F1(b)-F2(b));
b(1)=fzero(Feigin,0.5);
ne=sqrt(b*n1^2+(1-b)*ns^2);
beta=ne*k;
kappa=sqrt((k^2*n1^2)-beta^2);
xi=sqrt(beta^2-k^2*ns^2);
sigma=sqrt(beta^2-k^2*n0^2);
phi=m*pi/2+atan(sqrt(b/(1-b)))/2-atan(sqrt((b+r)/(1-b)))/2;
format short g
[ne kappa xi sigma phi];
Np=1001;
x2=linspace(-12*a,-a,Np);
x1=linspace(-a,a,Np);
x3=linspace(a,12*a,Np);
Ey1=zeros(1,Np);
Ey2=Ey1;
Ey3=Ey1;
Ey1=cos(kappa*x1-phi);
Ey2=cos(kappa*a+phi)*exp(xi*(x2+a));
Ey3=cos(kappa*a-phi)*exp(-sigma*(x3-a));
Ey=[Ey2,Ey1,Ey3];
Ey=Ey/diag(max(abs(Ey)));
x=[x2,x1,x3];
hold on
%plot(x,Ey,'g+');
plot(x1,Ey1,'g',x2,Ey2,'r',x3,Ey3,'b')
%legend('TE_0','TE_1','TE_2')
xlabel('x')
axis([-12e-7 12e-7 -1.1 1.1])
%plot([-d,-d],[-1.1,1.1],'black--')
plot([ 0, 0],[-1.1,1.1],'black--')
plot([x(1), x(end)],[0,0],'black')
plot([x(1), x(end)],[1/e,1/e],'black')
x0=-1/xi*log(e*cos(kappa*a))-a;
x4=1/sigma*log(e*cos(kappa*a))+a; 展开
clear%TE
close all
n1 = 3.476;
ns = 1.45;
n0 = 1.45;
d = 400e-9;
a=d/2;
lambda = 1.55e-6;
k = 2*pi/lambda;
e=2.718281828459;
r=(ns^2-n0^2)/(n1^2-ns^2);
v=sqrt(k^2*a^2*(n1^2-ns^2));
m=0;
F1=@(b)(2*v*sqrt(1-b));
ezplot(F1,[0,1,-5,10]);
hold on;
F2=@(b)(m*pi)+atan(sqrt(b/(1-b)))+atan (sqrt((b+r)/(1-b)));
ezplot(F2,[0,1,-5,10]);
xlabel('b')
Feigin=@(b)(F1(b)-F2(b));
b(1)=fzero(Feigin,0.5);
ne=sqrt(b*n1^2+(1-b)*ns^2);
beta=ne*k;
kappa=sqrt((k^2*n1^2)-beta^2);
xi=sqrt(beta^2-k^2*ns^2);
sigma=sqrt(beta^2-k^2*n0^2);
phi=m*pi/2+atan(sqrt(b/(1-b)))/2-atan(sqrt((b+r)/(1-b)))/2;
format short g
[ne kappa xi sigma phi];
Np=1001;
x2=linspace(-12*a,-a,Np);
x1=linspace(-a,a,Np);
x3=linspace(a,12*a,Np);
Ey1=zeros(1,Np);
Ey2=Ey1;
Ey3=Ey1;
Ey1=cos(kappa*x1-phi);
Ey2=cos(kappa*a+phi)*exp(xi*(x2+a));
Ey3=cos(kappa*a-phi)*exp(-sigma*(x3-a));
Ey=[Ey2,Ey1,Ey3];
Ey=Ey/diag(max(abs(Ey)));
x=[x2,x1,x3];
hold on
%plot(x,Ey,'g+');
plot(x1,Ey1,'g',x2,Ey2,'r',x3,Ey3,'b')
%legend('TE_0','TE_1','TE_2')
xlabel('x')
axis([-12e-7 12e-7 -1.1 1.1])
%plot([-d,-d],[-1.1,1.1],'black--')
plot([ 0, 0],[-1.1,1.1],'black--')
plot([x(1), x(end)],[0,0],'black')
plot([x(1), x(end)],[1/e,1/e],'black')
x0=-1/xi*log(e*cos(kappa*a))-a;
x4=1/sigma*log(e*cos(kappa*a))+a; 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询