想要得到复杂函数最大值对应的自变量x的值,以及x与wedge的关系,见下图
自变量x的范围:(0,0.2)
wedge的范围:(0.001,0.02)
涉及到的公式为:
clc;
clear all;
close all;
format long;
%%%%%%%%%%%%%%%%初始化参数%%%%%%%%%%%%%%%
syms x; %定义自变量x
w0=1; %光斑半径,单位:mm
z0=200; %入射面距离束腰位置,单位:mm
A=1; %高斯光束束腰中心振幅
r=0.9; %腔镜反射率
k=A*(1-r); %第一次x1点位置光的振幅
lamda=632.8*10^(-6); %峰值波长,单位:mm
L=75000*lamda; %腔镜空气隙,单位:mm
f=pi*w0^2/lamda; %高斯光束共焦参数
beta=2*pi/lamda; %高斯光束传播常数
%%%%%%%%%%%%%%%%楔角循环%%%%%%%%%%%%%%%
wedge=(0.01:0.001:0.02); %两腔镜的楔角,单位:°
Num=numel(wedge); %给出向量的个数
%%%%%%%%%%%%%%%相关参数计算%%%%%%%%%%%%%%%%%%
for j=1:Num %循环Num次,遍历所有楔角
N=floor(pi./(4.*wedge(j))-0.5); %Floor为向下取整,即取不大于
for m=0:N %求m+1次出射的光场
delt_xm=L./tand(wedge(j)).*(1./cosd((2*m+1).*wedge(j))-1./cosd(wedge(j))); %光斑中心在出射腔镜上移动的距离
delt_zm=L./tand(wedge(j)).*tand((2*m+1).*wedge(j)); %光斑中心移动的光程
xm=abs((x-delt_xm)*cosd((2*m+1).*wedge(j))); %p点到第m+1次出射的次光束的传输轴线的垂直距离
zm=z0+delt_zm+(x-delt_xm)*sind((2*m+1).*wedge(j)); %光斑中心传输的距离
R_zm=zm+f^2/zm; %等相位面的曲率半径
w_zm=w0*sqrt(1+(zm/f)^2); %光斑半径
Em(m+1)={@(x) k_r*r^m*w0/w_zm*exp(-xm^2/(w_zm^2))*exp(-(beta*zm-atan(zm/f))*i)*exp(-beta*xm^2/(2*R_zm)*i)};
end
Et={@(x) sum(Em)}; %对Em中的所有元素求和,结果为包含自变量x的复数
Et_c={@(x) conj(Et)}; %Et的复共轭,结果为包含自变量x的复数
Intensity_total={@(x) Et*Et_c}; %Em与Et相乘,结果为包含x的实数
[xmax]=fminbnd(inline(-Intensity_total(x)),0,0.2); %求Intensity_total最大值时,x的取值
x_p(j)=xmin; %对于每一个wedge,都有一个x的值,存放在向量x_p中
end
不会求含有未知数x的函数运算
求出x组成的向量,x与wedge的关系图
自己已解决
你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答
本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。
因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。